Seite 1 von 1

wie/wo MetaType registrieren

Verfasst: 12. Januar 2009 13:27
von pospiech
Ich bekomme folgenden Fehler wenn ich ein struct als Parameter in ein Signal/Slot schreibe:
QObject::connect: Cannot queue arguments of type 'MoveStepDef'
(Make sure 'MoveStepDef' is registered using qRegisterMetaType().)
Aus der Doku entnehme ich, dass ich folgendes machen sollte:

Code: Alles auswählen

qRegisterMetaType<MoveStepDef>("MoveStepDef"); 
Aber wo überall muss ich diese Anweisung hinschreiben? In die Klasse wo der Signal/Slot steht in den Konstruktor?

Verfasst: 12. Januar 2009 16:10
von -=Freaky=-
ich habe

Code: Alles auswählen

qRegisterMetaType< Klassenbezeichner >()
im constructor der klasse und

Code: Alles auswählen

Q_DECLARE_METATYPE( Klassenname )
direkt unter der deklaration der klasse (aber ausserhalb der klasse!).

die klasse registriert sich im constructor also selbst.

mfg,
julian