Интеграция в настольную систему
Приложения 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.11/desktop-integration.html