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 Qt::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 Models.
Средство 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 Licensing.
Кроме того, Qt QML в Qt 6.0.0 может содержать модули третьих сторон по следующим разрешительным лицензиям:
Лицензия BSD 2-clause "Simplified" |
Руководства и другая информация
Дополнительная информация для написания приложений 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.0/qtqml-index.html