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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage