Seite 1 von 1

QCustomEvent --> QEvent (für Qt4 Portierung)

Verfasst: 1. Juli 2005 17:01
von hulio
Hallo zusammen in Qt 4 soll man anstelle von QCustomEvent die Klasse QEvent benutzen. Hierbei habe ich das folgende Problem:

Ich habe eine Klasse FieldChangeEvent die von QCustomEvent abgleitet wurde und jetzt von QEvent abgeleitet werden soll. Dabei tritt das folgende Problem auf im Konstruktor von FieldChangeEvent habe ich der Superklasse den Type meiner Events als "int" übergeben (Qt3):

Code: Alles auswählen

FieldChangeEvent::FieldChangeEvent(Bait *b, int w) : QCustomEvent( 1001 )
{
	...
}
QEvent benötigt den Type aber als "QEvent::Type" (Qt4). Der folgende Versuch führte zu einem Kompilierfehler:

Code: Alles auswählen

FieldChangeEvent::FieldChangeEvent(Bait *b, int w) : QEvent( 1001 )
{
	...
}
Wie kann ich den Type als "QEvent::Type" übergeben?

Hulio

Verfasst: 1. Juli 2005 21:33
von ArneStocker
hallo

m.E. muss die klassendeklaration wie folgt aussehen

Code: Alles auswählen

class QPtUpdateEvent : public QCustomEvent
{
	public : 
		enum Type {PtUpdate = 1001};

	public:
		QPtUpdateEvent();
		virtual ~QPtUpdateEvent();

	...
}

QPtUpdateEvent::QPtUpdateEvent()
	: QCustomEvent(PtUpdate)
{
	... bla
}
so war das wenigstens unter Qt3.x. Wahrscheinlich musst Du bei Qt4.X einfach nur QPtCustomEvent in QEvent umwandelt

-> enum ist nicht gleich integer !!!

Gruss Arne