wie/wo MetaType registrieren

Alles rund um die Programmierung mit Qt
Antworten
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

wie/wo MetaType registrieren

Beitrag 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?
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag 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
Antworten