Spec-Zone.ru › Qt 6.1

Структура документа QML

Документ QML — это автономный фрагмент исходного кода QML, состоящий из двух частей:

  • Его операторы импорта
  • Объявление единственного корневого объекта

По соглашению, отдельные импорты от определения иерархии объектов отделяются одной пустой строкой.

Документы QML всегда закодированы в формате UTF-8.

Импорты

Документ должен импортировать необходимые модули или пространства имен типов, чтобы позволить движку загрузить типы объектов QML, на которые ссылается документ. По умолчанию документ может получить доступ к любым типам объектов QML, которые были определены через .qml файлы в том же каталоге; если документ должен ссылаться на любые другие типы объектов, он должен импортировать пространство имен типа, в которое были зарегистрированы эти типы.

QML не имеет препроцессора, который изменяет документ перед представлением движку QML, в отличие от C или C++. import операторы не копируют и не вставляют код в документ, а вместо этого сообщают движку QML, как разрешать ссылки на типы, найденные в документе. Любая ссылка на тип, присутствующая в документе QML — например, Rectangle и ListView — в том числе те, что сделаны внутри блока JavaScript или связей свойств, разрешаются исключительно на основе операторов импорта. Должен быть присутствовать хотя бы один import оператор, например, import QtQuick 2.0.

Для получения подробной информации об импортах QML см. документацию Синтаксис QML — операторы импорта.

Объявление корневого объекта

Документ QML описывает иерархию объектов, которые могут быть созданы. Каждое определение объекта имеет определенную структуру; оно имеет тип, может иметь идентификатор и имя объекта, может иметь свойства, методы, сигналы и обработчики сигналов.

Файл QML должен содержать только одно определение корневого объекта. Следующее является недопустимым и приведет к ошибке:

// MyQmlFile.qml
import QtQuick 2.0

Rectangle { width: 200; height: 200; color: "red" }
Rectangle { width: 200; height: 200; color: "blue" }    // invalid!

Это происходит потому, что файл .qml автоматически определяет тип QML, который encapsulates единственное определение объекта QML. Это обсуждается более подробно в Документы как определения типов объектов QML.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qtqml-documents-structure.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API