我正在执行以下操作以在我的Qt嵌入式应用中呈现QML:
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();
提前致谢!
答案 0 :(得分:1)
你可以写下来:
for (int i = 0; i < dial->metaObject->propertyCount(); ++i) {
QMetaProperty metaProperty = dial->metaobject()->property(i);
qDebug() << metaProperty.name();
}