Spec-Zone.ru › Qt

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:

  • Компонент
  • QtObject
  • Привязка
  • Подключения
  • Таймер

Глобальный объект Qt предоставляет полезные перечисления и функции для различных типов QML.

Списки и модели

В Qt 5.1 новые типы моделей перемещены в подмодуль, QtQml.Models. Страница Модели Qt QML содержит более подробную информацию.

  • DelegateModel
  • DelegateModelGroup
  • ListElement
  • ListModel
  • ObjectModel

Средства 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++.

  • Основные классы C++, предоставляемые модулем Qt QML
  • Интеграция QML и C++

Лицензии и авторские права

Qt QML доступен по коммерческим лицензиям от The Qt Company. Кроме того, он доступен по лицензиям свободного программного обеспечения. Начиная с Qt 5.4, эти лицензии свободного программного обеспечения являются GNU Lesser General Public License, version 3, или GNU General Public License, version 2. Подробнее см. Лицензирование Qt.

Кроме того, Qt QML в Qt 6.2.2 может содержать модули третьих сторон по следующим разрешительным лицензиям:

Макросборщик JavaScriptCore

Лицензия BSD 2-пунктная ("упрощенная")

Руководства и другая информация

Дополнительная информация для написания приложений QML:

  • Справочник QML
  • Приложения QML - важная информация для разработки приложений с помощью QML и Qt Quick
  • Qt Quick - модуль, предоставляющий набор типов QML и классов C++ для создания пользовательских интерфейсов и приложений с помощью QML
  • Кэш QML на диске - как настроить, если и где движок QML кэширует результаты компиляции.

Справочник

  • Классы C++
  • Типы QML
  • Примеры

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

Spec-Zone.ru

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