C++ 枚举Qt C+中的QML属性+;?
我正在执行以下操作以在我的Qt嵌入式应用程序中呈现QML:C++ 枚举Qt C+中的QML属性+;?,c++,qt,qml,qtcore,qmetaobject,C++,Qt,Qml,Qtcore,Qmetaobject,我正在执行以下操作以在我的Qt嵌入式应用程序中呈现QML: QDeclarativeView *view = new QDeclarativeView(this); view->setSource(QUrl::fromLocalFile("dial.qml")); view->show(); QObject *dial = view->rootObject(); 是否有一种方法可以枚举根项中定义的所有属性值 例如,如果我有QML: import QtQuick 1.0 Ite
QDeclarativeView *view = new QDeclarativeView(this);
view->setSource(QUrl::fromLocalFile("dial.qml"));
view->show();
QObject *dial = view->rootObject();
是否有一种方法可以枚举根项中定义的所有属性值
例如,如果我有QML:
import QtQuick 1.0
Item {
id: root
property real dial_value : 0
property real dial_length: 0
property real background_opacity: 1
etc, etc
}
有没有一个Qt方法最终会让我得到这些字符串的列表:
dial_value
dial_length
background_opacity
我试过了,但列表是空的:
QList<QByteArray> list = dial->dynamicPropertyNames();
QList list=dial->dynamicPropertyNames();
提前谢谢 你可以写:
for (int i = 0; i < dial->metaObject->propertyCount(); ++i) {
QMetaProperty metaProperty = dial->metaobject()->property(i);
qDebug() << metaProperty.name();
}
for(int i=0;imetaObject->propertyCount();++i){
QMetaProperty metaProperty=dial->metaobject()->property(i);
qDebug()您是否尝试过拨号->元对象->属性(索引);在一个循环中使用propertyCount()方法,然后使用name()方法?这样就可以了!谢谢:)