Spec-Zone.ru › Qt 5.14

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 реализует несколько элементов управления, таких как кнопки, меню и представления. Эти элементы управления поставляются с несколькими встроенными стилями, которые можно использовать, а также поддерживают создание пользовательских стилей.

  • Рекомендации по Qt Quick Controls
  • Qt Quick Templates 2

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

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

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

Просмотр веб-контента в QML-приложениях

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

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

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

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

Мультимедийный контент

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

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

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

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

  • Qt Позиционирование
  • Qt Геолокация
  • Qt Bluetooth
  • Qt NFC

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

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

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

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

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

  • Интеграция QML и C++
  • Развёртывание QML приложений
  • Рекомендации по лучшим практикам для QML и Qt Quick
  • Вопросы производительности и рекомендации
  • Локализация и интернационализация
  • Тестирование и отладка
    • Прототипирование с помощью 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.14/qmlapplications.html

Spec-Zone.ru

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