Интеграция на рабочем столе
Приложения Qt хорошо работают в среде рабочего стола пользователя, но для некоторых интеграций требуются дополнительные, а иногда и специфичные для платформы методы.
Полезные классы
Различные классы Qt предназначены для помощи разработчикам в интеграции приложений в среду рабочего стола пользователей. Эти классы позволяют разработчикам использовать встроенные службы, сохраняя при этом кроссплатформенный 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/archives/qt-5.6/desktop-integration.html