我有一个QObject
的子类,并使用setProperty
在c++中添加动态属性。
现在我想在QML中使用它们。我本来希望能够像使用Q_PROPERTY
定义的属性一样访问它们,但这只产生undefined
。
目前不可能。作为一种可能的解决方案,您可以从c++对象向QML公开一些辅助函数,以获取动态属性的值:
TestObject::TestObject(QObject *parent) : QObject(parent)
{
setProperty("test","testvalue");
}
QVariant TestObject::getDynamicProperty(const QString &name)
{
return property(name.toLatin1());
}
,所以你可以从QML中得到它的值:
TestObject {
Component.onCompleted: console.log(getDynamicProperty("test"));
}