¿Cómo verificar QVariant de tipo QVariant :: UserType es el tipo esperado?

Estoy escribiendo un código de prueba que iterará automáticamente a través de todos los Q_PROPERTY's de widgets y algunas propiedades están usando tipos que se registran a través de qRegisterMetaType. Si quiero leerlos / escribirlos en QVariant, necesito usar QVariant :: UserType al almacenarlos en una variante. Hasta aquí todo bien.

Pero cuando quiero probar lecturas y escrituras de estas propiedades, también necesito saber su tipo. Para cosas que ya son tipos qt estándar, puedo hacer esto a través de QVariant :: type () pero como tengo muchos tipos de uso, ¿cómo se lograría esto?

Desde la api de QVariant, vi esto:

bool QVariant::canConvert ( Type t ) const

¿Pero dudo un poco si esto conducirá a tipos incorrectos en caso de enumeraciones?

Entonces, ¿cuál sería la manera infalible de verificar qué tipo de uso se almacena en QVariant?

Respuestas a la pregunta(1)

Su respuesta a la pregunta