Enum aus QVariant auslesen

Alles rund um die Programmierung mit Qt
Antworten
mathies
Beiträge: 149
Registriert: 9. Februar 2007 17:50
Wohnort: Erfurt

Enum aus QVariant auslesen

Beitrag von mathies »

Hallo,

habe ein enum deklariert und will das über die data() Funktion eines Models auslesen. Klappt alles bis auf die Konvertierung.

Code: Alles auswählen

typedef enum MyEnum
{
    hase,
    igel,
    fuchs
};
Dann lese ich einen QVariant aus und versuche Ihn folgendermaßen zu konvertieren:

Code: Alles auswählen

    QVariant qvariant = mTierListe->data(index,Qt::UserRole);
    MyEnum tier = qvariant.value<MyEnum>();
aber das klappt nicht, da er mit
Fehler 1 error C2039: 'qt_metatype_id': Ist kein Element von 'QMetaTypeId<T>' c:\programme\qt\src\corelib\kernel\qmetatype.h 168
was rummeckert. Auch die Versuche mein enum über

Q_DECLARE_METATYPE ( MyEnum );

bekannt zu machen scheitern, da es angeblich keinen Typspezifiierer gibt.

Gibt es ne Möglichkeit das gescheit hinzubekommen?

Grüßle,
Matthias
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Code: Alles auswählen

QVariant qvariant = mTierListe->data(index,Qt::UserRole);
MyEnum tier = value.toInt(); 
mathies
Beiträge: 149
Registriert: 9. Februar 2007 17:50
Wohnort: Erfurt

Beitrag von mathies »

Hallo,

habs bis jetzt auch über int gemacht, fand es nur etwas doof, dass er net einfach den "Typ" akzeptiert.

Danke trotzdem.

Grüßle,
Matthias
Antworten