我找到了一个包含以下内容的QML文件:
Page {
id: viewRoot
...
}
,我认为这是项目本身定义的,但是找不到。然后,我在github上搜索了包含变量viewRoot
的代码,并使用相同的东西id: viewRoot
找到了很多代码。
什么是viewRoot
?如何在要创建的QML对象的纯C ++版本中编写相同的代码?
答案 0 :(得分:3)
请注意,viewRoot是对象的id属性的值。参见QML docs。
ID -这是对象的唯一标识符,可用于访问对象的属性。
示例:
import QtQuick 2.0
Column {
width: 200; height: 200
TextInput { id: myTextInput; text: "Hello World" } // create object of TextInput type and myTextInput id.
Text { text: myTextInput.text } // get value of text property from myTextInput
}
在c ++中创建qml对象
QQmlEngine engine;
QQmlComponent component(&engine,
QUrl::fromLocalFile("MyItem.qml"));
QObject *object = component.create();
并设置属性
object->setProperty("width", 500);
请参见qt docs