Qt调用setProperty出现上述报错
先来看下Qt帮助文档
bool QObject::setProperty(const char *name, const QVariant &value)
将对象的name属性的值设置为value。
如果使用Q_PROPERTY在类中定义了属性,则成功时返回true,否则返回false。 如果该属性未使用Q_PROPERTY定义,因此未在元对象中列出,则将其作为动态属性添加并返回false。
通过metaObject()和dynamicPropertyNames()提供有关所有可用属性的信息。
可以使用property()再次查询动态属性,并且可以通过将属性值设置为无效的QVariant来将其删除。 更改动态属性的值会导致将QDynamicPropertyChangeEvent发送到对象
说了这么多,发现在调用的cpp文件,包含QVariant的头文件就可以了。(C++隐式转换)
#include <QVariant>