Qt QML
Модуль Qt QML предоставляет фреймворк для разработки приложений и библиотек с помощью языка QML. Он определяет и реализует инфраструктуру языка и движка, а также предоставляет API для разработчиков приложений, чтобы расширять язык QML с помощью пользовательских типов и интегрировать код QML с JavaScript и C++. Модуль Qt QML предоставляет как API QML, так и API C++.
Обратите внимание, что, хотя модуль Qt QML предоставляет язык и инфраструктуру для приложений QML, модуль Qt Quick предоставляет множество визуальных компонентов, поддержку модели-представления, фреймворк для анимации и многое другое для построения пользовательских интерфейсов.
Для тех, кто только начинает работать с QML и Qt Quick, ознакомьтесь со статьей Приложения QML для введения в разработку приложений QML.
Использование модуля
API QML
Типы QML в Qt QML доступны через импорт QtQml. Чтобы использовать типы, добавьте следующую директиву импорта в ваш файл .qml:
import QtQml
API C++
Использование API C++ требует линковки с библиотекой модуля, либо напрямую, либо через другие зависимости. Несколько инструментов сборки имеют специальную поддержку для этого, включая CMake и qmake.
Сборка с CMake
Используйте команду find_package() для поиска необходимых компонентов модуля в пакете Qt6:
find_package(Qt6 COMPONENTS Qml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Qml)
См. также обзор Сборка с CMake.
Сборка с qmake
Чтобы настроить модуль для сборки с qmake, добавьте модуль в качестве значения переменной QT в файле проекта .pro:
QT += qml
QML и типы QML
Модуль Qt QML содержит фреймворк QML и важные типы QML, используемые в приложениях. Конструкции QML описаны в Справочнике QML.
Помимо базовых типов QML, модуль поставляется со следующими типами объектов QML:
Глобальный объект Qt предоставляет полезные перечисления и функции для различных типов QML.
Списки и модели
Нововведение в Qt 5.1 — типы моделей перемещены в подмодуль QtQml.Models. Более подробную информацию см. на странице Модели Qt QML.
Среда JavaScript для приложений QML
Выражения JavaScript позволяют коду QML содержать логику приложения. Qt QML предоставляет фреймворк для выполнения выражений JavaScript в QML и из C++.
Эти разделы взяты из Справочника QML.
- Интеграция QML и JavaScript
- Использование выражений JavaScript с QML
- Динамическое создание объектов QML из JavaScript
- Определение ресурсов JavaScript в QML
- Импорт ресурсов JavaScript в QML
- Среда выполнения JavaScript
Интеграция QML с приложениями C++
Модуль также предоставляет фреймворк для запуска приложений QML. Фреймворк QML позволяет коду QML содержать выражения JavaScript и взаимодействовать с кодом C++.
Лицензии и авторские права
Qt QML доступен по коммерческим лицензиям от The Qt Company. Кроме того, он доступен по лицензиям свободного программного обеспечения. С Qt 5.4 эти лицензии свободного программного обеспечения — GNU Lesser General Public License, версия 3, или GNU General Public License, версия 2. Дополнительные сведения см. в разделе Лицензирование Qt.
Кроме того, Qt QML в Qt 6.1.0 может содержать модули сторонних разработчиков под следующими разрешительными лицензиями:
Лицензия BSD 2-пунктная "упрощенная" |
Руководства и другая информация
Дополнительная информация для написания приложений QML:
- Справочник QML
- Приложения QML — важная информация для разработки приложений с QML и Qt Quick
- Qt Quick — модуль, который предоставляет набор типов QML и классов C++ для создания пользовательских интерфейсов и приложений с QML
- Кэш QML на диске — как настроить, если и где движок QML кэширует результаты компиляции.
Справочник
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qtqml-index.html