Что такое viewRoot в QML? - PullRequest
0 голосов
/ 04 июля 2019

Я нашел файл QML со следующим:

Page {
    id: viewRoot
    ...
}

и я подумал, что это что-то определено в самом проекте, но я не смог найти. Затем я искал на github код, содержащий переменную viewRoot, и обнаружил, что многие из них используют одно и то же: id: viewRoot.

Что такое viewRoot и как я могу написать тот же код в чистой версии C ++ моего QML-объекта, который я создаю?

1 Ответ

3 голосов
/ 05 июля 2019

Обратите внимание, что viewRoot - это значение свойства id объекта.См. Документы QML .

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
}

Создать объект qml в c ++

QQmlEngine engine;
QQmlComponent component(&engine,
        QUrl::fromLocalFile("MyItem.qml"));
QObject *object = component.create();

И задать свойство

object->setProperty("width", 500);

См. qt docs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...