Класс 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 |
- 214 открытых функций унаследованы от QWidget
- 31 открытых функций унаследованы от QObject
- 14 открытых функций унаследованы от QPaintDevice
Статические открытые члены
| const QMetaObject | staticMetaObject |
- 5 статических открытых членов унаследованы от QWidget
- 9 статических открытых членов унаследованы от QObject
Дополнительные унаследованные члены
- 59 свойств унаследовано от QWidget
- 1 свойство унаследовано от QObject
- 19 публичных слотов унаследовано от QWidget
- 1 публичный слот унаследован от QObject
- 3 сигналов унаследовано от QWidget
- 2 сигнала унаследовано от QObject
- 35 защищённых функций унаследовано от QWidget
- 9 защищённых функций унаследовано от QObject
- 1 защищённая функция унаследована от QPaintDevice
- 1 защищённый слот унаследован от QWidget
Подробное описание
Класс QDesktopWidget предоставляет доступ к информации о экранах в системах с несколькими мониторами.
Системы с несколькими графическими процессорами и мониторами могут управлять доступным физическим пространством экрана либо как несколькими рабочими столами, либо как одним большим виртуальным рабочим столом.
Этот класс предоставляет информацию о рабочем столе пользователя, такую как его общий размер, количество экранов, геометрия каждого экрана и то, сконфигурированы ли они как отдельные рабочие столы или как один виртуальный рабочий стол.
Виджеты, предоставляемые Qt, используют этот класс для размещения всплывающих подсказок, меню и диалоговых окон на соответствующем экране для их родительских или прикладных виджетов. Приложения могут использовать этот класс для получения информации, которая может использоваться для сохранения позиций окон или для размещения дочерних виджетов и диалогов на конкретном экране.
Получение виджета рабочего стола
Функция QApplication::desktop() используется для получения экземпляра QDesktopWidget.
Функция screenGeometry() виджета предоставляет информацию о геометрии доступных экранов. Количество доступных экранов возвращается свойством screenCount, а сигнал screenCountChanged() генерируется при добавлении или удалении экранов. Номер экрана, в котором находится конкретная точка или виджет, возвращается функцией screenNumber().
Геометрия экрана
Чтобы получить размеры конкретного экрана, вызовите функцию screenGeometry(). В некоторых средах рабочего стола не все пространство экрана доступно для приложений; например, панель задач или строка меню могут занимать часть пространства. Используйте функцию availableGeometry() для получения доступной для приложений области.
QDesktopWidget также наследует свойства QWidget, width() и height(), которые задают размер рабочего стола. Однако для рабочих столов с несколькими экранами размер рабочего стола — объединение размеров всех экранов, поэтому width() и height() не следует использовать для вычисления размера виджета, который необходимо разместить на одном из экранов.
В системах, настроенных для использования доступных экранов как одного большого виртуального рабочего стола, свойство virtualDesktop будет установлено в значение true. В этом случае размер виджета обычно равен размеру ограничивающего прямоугольника всех экранов.
Использование основного экрана
Для приложения экраном, на котором находится основной виджет, является основной экран. Он хранится в свойстве primaryScreen. Все окна, открытые в контексте приложения, должны быть ограничены границами основного экрана; например, неудобно, если всплывающее диалоговое окно появляется на другом экране или разделяется между двумя экранами.
На иллюстрации выше, основной экран приложения Один — экран 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.12/qdesktopwidget.html