Wie überprüfe ich, ob QVariant vom Typ QVariant :: UserType vom Typ erwartet wird?
Ich schreibe Testcode, der automatisch alle Q_PROPERTY-Widgets durchläuft, und einige Eigenschaften verwenden Typen, die über qRegisterMetaType registriert wurden. Wenn ich diese in QVariant lesen / schreiben möchte, muss ich QVariant :: UserType verwenden, wenn ich sie in variant speichere. So weit, ist es gut
Aber wenn ich Lese- und Schreibvorgänge dieser Eigenschaften testen möchte, muss ich auch deren Typ kennen. Für Dinge, die bereits Standard-QT-Typen sind, kann ich dies über QVariant :: type () tun, aber da ich viele Benutzertypen habe, wie würde dies erreicht werden?
Aus der API von QVariant habe ich Folgendes entdeckt:
bool QVariant::canConvert ( Type t ) const
Aber ich bin etwas zweifelhaft, ob dies bei Aufzählungen zu falschen Typen führt?
So, was wäre die narrensichere Methode, um zu überprüfen, welcher Benutzertyp in QVariant gespeichert ist?