QML中的viewRoot是什么?

时间:2019-07-04 03:35:47

标签: c++ qt qml

我找到了一个包含以下内容的QML文件:

Page {
    id: viewRoot
    ...
}

,我认为这是项目本身定义的,但是找不到。然后,我在github上搜索了包含变量viewRoot的代码,并使用相同的东西id: viewRoot找到了很多代码。

什么是viewRoot?如何在要创建的QML对象的纯C ++版本中编写相同的代码?

1 个答案:

答案 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