Интеграция в Рабочий Стол
Приложения Qt хорошо работают в среде рабочего стола пользователя, но для определённой интеграции требуются дополнительные, а иногда и платформозависимые, методы.
Полезные Классы
Различные классы в Qt предназначены для помощи разработчикам в интеграции приложений в среду рабочего стола пользователя. Эти классы позволяют разработчикам использовать native-сервисы, сохраняя кроссплатформенный API.
Методы для доступа к общим сервисам рабочего стола |
|
Иконка приложения в системном лотке |
Открытие Внешних Ресурсов
Хотя Qt предоставляет средства для обработки и отображения ресурсов, таких как обычные форматы изображений и HTML, иногда необходимо открывать файлы и внешние ресурсы с помощью внешних приложений.
QDesktopServices предоставляет интерфейс к сервисам, предлагаемым средой рабочего стола пользователя. В частности, функция openUrl() используется для открытия ресурсов с помощью соответствующего приложения, которое может быть специально настроено пользователем.
Иконки Системного Лотка
Многие современные среды рабочего стола имеют панели с системными лотками, в которых приложения могут устанавливать иконки. Приложения часто используют иконки системного лотка для отображения статусной информации, либо обновляя саму иконку, либо показывая информацию в "балонных сообщениях". Кроме того, многие приложения предоставляют всплывающие меню, доступные через иконки системного лотка.
Класс QSystemTrayIcon предоставляет все вышеперечисленные возможности через интуитивный API Qt-стиля, который может использоваться на всех платформах рабочего стола.
Элементы Рабочего Стола
На системах, где рабочий стол пользователя отображается на нескольких мониторах, определённым типам приложений может потребоваться получить информацию о конфигурации рабочего пространства пользователя, чтобы гарантировать, что новые окна и диалоговые окна открываются в соответствующих местах.
Класс QDesktopWidget может использоваться для мониторинга расположения элементов и уведомления приложений об изменениях в способе разделения рабочего стола между доступными мониторами. Это позволяет приложениям реализовывать политику позиционирования новых окон, чтобы, например, они не отвлекали пользователя, который работает над определённой задачей.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/desktop-integration.html