Spec-Zone.ru › Qt 5.14

Класс QDesktopWidget

Класс QDesktopWidget предоставляет доступ к информации о экранах в системах с несколькими мониторами. Подробнее...

Заголовок: #include <QDesktopWidget>
qmake: QT += widgets
Наследует: QWidget

Этот класс устарел. Он предоставляется для совместимости со старым кодом. Не рекомендуется использовать его в новом коде.

  • Список всех членов, включая унаследованные
  • Устаревшие члены

Открытые функции

const QRect availableGeometry(const QWidget *widget) const
const QRect screenGeometry(const QWidget *widget) const
int screenNumber(const QWidget *widget = nullptr) const

Подробное описание

Системы с несколькими графическими процессорами и мониторами могут управлять доступным физическим пространством экрана, либо как несколько отдельных рабочих столов, либо как один большой виртуальный рабочий стол.

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

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

Получение объекта QDesktopWidget

Функция QApplication::desktop() используется для получения экземпляра QDesktopWidget.

Функция screenGeometry() виджета предоставляет информацию о геометрии доступных экранов. Количество доступных экранов возвращается свойством screenCount, и сигнал screenCountChanged() генерируется при добавлении или удалении экранов. Номер экрана, на котором находится определённая точка или виджет, возвращается функцией screenNumber().

Геометрия экрана

Для получения размеров определённого экрана вызовите функцию screenGeometry(). В некоторых средах рабочего стола не всё пространство экрана доступно для приложений; например, панель задач или строка меню могут занимать часть пространства. Используйте функцию availableGeometry() для получения доступной области для приложений.

Класс QDesktopWidget также наследует свойства QWidget, width() и height(), которые определяют размеры рабочего стола. Однако для рабочих столов с несколькими экранами размер рабочего стола является объединением размеров всех экранов, поэтому width() и height() не должны использоваться для вычисления размера виджета, который будет размещён на одном из экранов.

В системах, сконфигурированных для использования доступных экранов как единого большого виртуального рабочего стола, свойство virtualDesktop будет установлено в true. В этом случае размер виджета обычно соответствует размеру ограничивающей прямоугольной области всех экранов.

Использование основного экрана

Для приложения основным экраном является экран, на котором находится главный виджет. Он хранится в свойстве primaryScreen. Все окна, открытые в контексте приложения, должны быть ограничены границами основного экрана; например, неудобно, если диалоговое окно появляется на другом экране или разделено между двумя экранами.

Managing Multiple Screens

На иллюстрации выше, основной экран Приложения Один — экран 0, а основной экран Приложения Два — экран 1.

См. также QApplication и QApplication::desktop().

Документация по членам-функциям

const QRect QDesktopWidget::availableGeometry(const QWidget *widget) const

Это перегруженная функция.

Возвращает доступную геометрию экрана, содержащего widget.

См. также screenGeometry().

const QRect QDesktopWidget::screenGeometry(const QWidget *widget) const

Это перегруженная функция.

Возвращает геометрию экрана, содержащего widget.

int QDesktopWidget::screenNumber(const QWidget *widget = nullptr) const

Возвращает индекс экрана, содержащего наибольшую часть widget, или -1, если виджет не находится на экране.

См. также primaryScreen.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qdesktopwidget.html

Spec-Zone.ru

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