Композитор Qt Wayland
Композитор Qt Wayland — это модуль, предоставляющий удобные и мощные API QML и C++ для разработки пользовательских серверов отображения на основе протокола Wayland. Сервер отображения, часто называемый композитором, отображает контент из клиентских приложений, поддерживающих протокол Wayland.
Философия дизайна Wayland заключается в простоте и минимализме основного протокола. Разработчики могут затем расширять этот базовый протокол с помощью расширений, ориентированных на конкретные варианты использования. Композитор Qt Wayland по умолчанию поддерживает многие распространённые расширения, а также имеет API для создания новых пользовательских расширений.
Как правило, композитор, написанный с помощью Qt Wayland Compositor, становится подсистемой внутри процесса более крупного менеджера приложений. Композитор Qt Wayland предоставляет API для взаимодействия с клиентами и отображения их содержимого на экране. QML-API содержит высокоуровневые API, которые легко интегрируются с остальной частью Qt, обеспечивая удобную анимацию, эффекты и пользовательский интерфейс через Qt Quick. Также доступны C++ API — если вам нужен более низкий уровень доступа.
Менеджер приложений обычно реализует дополнительные функции, такие как жизненный цикл приложения, виртуальную клавиатуру, безопасность и межпроцессное взаимодействие (IPC). Qt предоставляет API, которые могут быть использованы для разработки оставшихся частей менеджера приложения в других модулях. Qt Automotive Suite предоставляет Qt Application Manager, который является полным менеджером приложений, включающим композитор, разработанный с использованием Qt Wayland Compositor.
Для получения дополнительной информации о Wayland см. Wayland и Qt.
Функции композитора Qt Wayland
Композитор Qt Wayland включает функции, необходимые для создания композитора:
- QML-API для отображения и управления содержимым клиентов, полностью интегрированным со всеми функциями Qt Quick.
- C++ API для доступа и управления на низком уровне.
- Поддержка общих расширений, включая XDG Shell и IVI Application.
- API для легкого расширения поддержки пользовательских расширений.
Переменные среды и аргументы командной строки
Композитор Qt Wayland распознаёт следующие переменные среды и аргументы командной строки:
- Переменные среды:
- QT_WAYLAND_HARDWARE_INTEGRATION Выбирает плагин аппаратной интеграции, который необходимо использовать.
- QT_WAYLAND_CLIENT_BUFFER_INTEGRATION Выбирает плагин интеграции буфера клиента, который необходимо использовать.
- QT_WAYLAND_SERVER_BUFFER_INTEGRATION Выбирает плагин интеграции сервера, который необходимо использовать.
- Аргументы командной строки:
-
--wayland-socket-nameЗаменяет имя сокета по умолчанию, используемое для связи с клиентами.
-
Примеры
Посмотрите примеры использования композитора Qt Wayland, чтобы узнать, как использовать эти API для написания пользовательских композиторов.
Справочник API
Композитор Qt Wayland может использоваться из C++ или QML:
Эволюция модуля
Перенос в Qt 6 - Композитор Qt Wayland перечисляет важные изменения в API и функциональности модуля, которые были внесены для серии Qt 6.
Лицензии и авторские права
Композитор Qt Wayland и плагин интеграции Qt Wayland доступны по коммерческим лицензиям от The Qt Company.
Кроме того, композитор Qt Wayland доступен по GNU General Public License, версия 3, а плагин интеграции Qt Wayland доступен по GNU General Public License, версия 3 или GNU General Public License, версия 2.
Дополнительные сведения см. в Qt Licensing.
Композитор Qt Wayland и плагин интеграции Qt Wayland используют определения протоколов по следующим разрешительным лицензиям:
Лицензия MIT |
|
Лицензия MIT |
|
Лицензия MIT |
|
Протокол Wayland Linux Dmabuf Unstable V1, версия unstable v1, версия 3 |
Лицензия MIT |
Лицензия MIT |
|
Лицензия MIT |
|
Лицензия MIT |
|
Лицензия MIT |
|
Лицензия HPND |
|
Лицензия MIT |
|
Лицензия MIT |
|
Лицензия MIT |
|
Протокол Wayland xdg-decoration, версия unstable v1, версия 1 |
Лицензия MIT |
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qtwaylandcompositor-index.html