我正在编写测试代码,将自动迭代所有小部件的Q_PROPERTY,并且某些属性使用通过qRegisterMetaType注册的类型。如果我想要将它们读取/写入QVariant,则需要在存储到variant时使用QVariant :: UserType。目前为止还不错。
但是当我想测试这些属性的读写时,我也需要知道它们的类型。对于已经是标准qt类型的东西,我可以通过QVariant :: type()来做到这一点,但是由于我有很多用户定义类型,应该如何完成呢?
从QVariant的API中,我发现了这个:
bool QVariant :: canConvert(Type t)const
但是我有些怀疑,如果涉及枚举类型,这是否会导致错误的类型?
那么,有什么绝对可靠的方法来验证存储在QVariant中的usertype的类型是什么?
但是当我想测试这些属性的读写时,我也需要知道它们的类型。对于已经是标准qt类型的东西,我可以通过QVariant :: type()来做到这一点,但是由于我有很多用户定义类型,应该如何完成呢?
从QVariant的API中,我发现了这个:
bool QVariant :: canConvert(Type t)const
但是我有些怀疑,如果涉及枚举类型,这是否会导致错误的类型?
那么,有什么绝对可靠的方法来验证存储在QVariant中的usertype的类型是什么?