Spec-Zone.ru › Qt 5.9

QML-приложения

QML — это декларативный язык, позволяющий описывать пользовательские интерфейсы в терминах визуальных компонентов и их взаимодействия друг с другом. Это очень читабельный язык, разработанный для динамического взаимосвязывания компонентов, а также для их простого повторного использования и настройки в пользовательском интерфейсе. Используя модуль QtQuick, разработчики и дизайнеры могут легко создавать плавные анимированные пользовательские интерфейсы в QML и подключать их к любым библиотекам на C++.

Что такое QML?

QML — это спецификация пользовательского интерфейса и язык программирования. Он позволяет разработчикам и дизайнерам создавать высокопроизводительные, плавно анимированные и визуально привлекательные приложения. QML предлагает легко читаемый декларативный синтаксис, похожий на JSON, с поддержкой императивных выражений JavaScript и динамических связей свойств.

Язык и инфраструктура движка QML предоставляются модулем Qt QML. Для получения подробной информации о языке QML, пожалуйста, обратитесь к документации модуля Qt QML.

На следующих страницах вы найдете дополнительную информацию о QML:

  • Первые шаги с QML — начните использовать QML с этими примерами
  • Создание проектов Qt Quick в Qt Creator
  • Справочник по QML — справочник по конструкциям и функциям QML
  • Рекомендации по написанию кода QML
  • Словарь терминов QML

Что такое Qt Quick?

Qt Quick — это стандартная библиотека типов и функциональности для QML. Она включает визуальные типы, интерактивные типы, анимации, модели и представления, эффекты частиц и эффекты шейдеров. Разработчик QML-приложений может получить доступ ко всей этой функциональности с помощью одной инструкции импорта.

Библиотека QML QtQuick предоставляется модулем Qt Quick. Для получения подробной информации о различных типах QML и других функциях, предоставляемых Qt Quick, пожалуйста, обратитесь к документации модуля Qt Quick.

QML-пользовательские интерфейсы

Для создания или настройки графических пользовательских интерфейсов Qt Quick добавляет визуальные типы, типы анимации и другие типы QML в дополнение к стандартным типам QML из Qt QML. Qt Quick Designer интегрирован в Qt Creator и поддерживает QtQuick 2 начиная с версии Qt Creator 2.7.

  • Визуальные типы в QML
  • Обработка пользовательского ввода в QML
  • Анимации в QML
  • Отображение текста в QML
  • Макеты в QML
  • Поддержка стилей и тем
  • Интеграция JavaScript в QML
  • Масштабируемость

Кнопки, меню и другие элементы управления

Для набора основных элементов управления пользовательским интерфейсом модуль Qt Quick Controls реализует несколько элементов управления, такие как кнопки, меню и представления. Эти элементы управления имитируют поведение, характерное для разных платформ, таких как Windows, macOS и Linux.

  • Обзор Qt Quick Controls
  • Стили
  • Диалоговые окна
  • Макеты
  • Дополнительные элементы

Второй набор элементов управления пользовательским интерфейсом, Qt Quick Controls 2, был разработан для использования на встроенных системах, где аппаратные ресурсы ограничены. Для сравнения двух наборов элементов управления см. Различия между Qt Quick Controls.

  • Рекомендации по использованию Qt Quick Controls 2
  • Qt Quick Templates 2

Специальные эффекты

Несколько модулей Qt предоставляют типы для создания специальных эффектов в приложениях. Соответствующие страницы содержат дополнительную информацию о конкретных применениях.

  • Эффекты частиц
  • Графические эффекты — для создания эффектов композиции изображений.

Отображение веб-содержимого в QML-приложениях

QML-типы WebEngineView и WebView отображают и рендерят динамическое веб-содержимое. Единственное различие между ними заключается в том, что последний использует встроенный веб-вьюер, если он доступен. Оба типа могут загружать URL-адрес или строку HTML. Для получения дополнительной информации и просмотра примеров кода, см. Qt WebEngine и Qt WebView.

Датчики, жесты и сенсорные интерфейсы

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

  • Qt Sensors QML-типы
  • Примеры Qt Sensors
  • Таблица совместимости — список уровней поддержки для различных мобильных платформ

Мультимедийное содержимое

Модуль Qt Multimedia позволяет приложениям обрабатывать различные типы мультимедийного контента с помощью удобного набора QML-типов. Эти QML-типы могут быть расширены на C++.

  • Мультимедиа
    • Обзор аудио
    • Обзор видео
    • Обзор камеры
    • Обзор радио
    • Qt Audio Engine — для воспроизведения 3D-позиционного звука и управления содержимым.

Мобильные устройства

Несколько модулей Qt предоставляют QML-API для сетевых и мобильных устройств. QML-типы обеспечивают доступ к устройствам Bluetooth, NFC (Near-Field Communications) и GPS.

  • Qt Positioning
  • Qt Location
  • Qt Bluetooth
  • Qt NFC

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

Примеры кода и демонстрации

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

  • Начало работы с программированием Qt Quick — учебник, демонстрирующий создание простого QML-текстового редактора.
  • Примеры и учебники Qt Quick

Расширенные темы разработки приложений

  • Интеграция QML и C++
  • Развертывание QML-приложений
  • Соображения и рекомендации по производительности
  • Локализация и международный язык
  • Тестирование и отладка
    • Прототипирование с помощью qmlscene
    • Отладка QML-приложений
    • Qt Quick Test: QML-фреймворк для юнит-тестирования

Другие QML-модули

Qt Quick предоставляет только базовые визуальные типы, и большая часть функциональности Qt предоставляется QML через другие модули. Если вам нужна функциональность этих модулей, следует ознакомиться с их QML-документацией.

Все QML-API по модулям содержит список всех QML-модулей в Qt 5.

Связанные темы

  • Перенос QML-приложений на Qt 5

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

Spec-Zone.ru

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