Класс QScreen
Класс QScreen используется для запроса свойств экрана. Подробнее...
| Заголовок: | #include <QScreen> |
| qmake: | QT += gui |
| С тех пор как: | Qt 5.0 |
| Наследует: | QObject |
Этот класс был представлен в Qt 5.0.
Свойства
|
|
Открытые функции
| virtual | ~QScreen() |
| int | angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b) const |
| QRect | availableGeometry() const |
| QSize | availableSize() const |
| QRect | availableVirtualGeometry() const |
| QSize | availableVirtualSize() const |
| int | depth() const |
| qreal | devicePixelRatio() const |
| QRect | geometry() const |
| QPixmap | grabWindow(WId window, int x = 0, int y = 0, int width = -1, int height = -1) |
| QPlatformScreen * | handle() const |
| bool | isLandscape(Qt::ScreenOrientation o) const |
| bool | isPortrait(Qt::ScreenOrientation o) const |
| qreal | logicalDotsPerInch() const |
| qreal | logicalDotsPerInchX() const |
| qreal | logicalDotsPerInchY() const |
| QString | manufacturer() const |
| QRect | mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect) const |
| QString | model() const |
| QString | name() const |
| Qt::ScreenOrientation | nativeOrientation() const |
| Qt::ScreenOrientation | orientation() const |
| Qt::ScreenOrientations | orientationUpdateMask() const |
| qreal | physicalDotsPerInch() const |
| qreal | physicalDotsPerInchX() const |
| qreal | physicalDotsPerInchY() const |
| QSizeF | physicalSize() const |
| Qt::ScreenOrientation | primaryOrientation() const |
| qreal | refreshRate() const |
| QString | serialNumber() const |
| void | setOrientationUpdateMask(Qt::ScreenOrientations mask) |
| QSize | size() const |
| QTransform | transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target) const |
| QRect | virtualGeometry() const |
| QScreen * | virtualSiblingAt(QPoint point) |
| QList<QScreen *> | virtualSiblings() const |
| QSize | virtualSize() const |
Сигналы
| void | availableGeometryChanged(const QRect &geometry) |
| void | geometryChanged(const QRect &geometry) |
| void | logicalDotsPerInchChanged(qreal dpi) |
| void | orientationChanged(Qt::ScreenOrientation orientation) |
| void | physicalDotsPerInchChanged(qreal dpi) |
| void | physicalSizeChanged(const QSizeF &size) |
| void | primaryOrientationChanged(Qt::ScreenOrientation orientation) |
| void | refreshRateChanged(qreal refreshRate) |
| void | virtualGeometryChanged(const QRect &rect) |
Подробное описание
Примечание по логическим и физическим точкам на дюйм: физическое разрешение (DPI) основано на фактических физических размерах пикселей, когда они доступны, и полезно для предварительного просмотра печати и других случаев, когда желательно знать точные физические размеры отображаемого содержимого экрана.
Логическое разрешение (DPI) используется для преобразования размеров шрифтов и элементов пользовательского интерфейса из точек в пиксели и может отличаться от физического разрешения. Логическое разрешение (DPI) иногда может быть настроено пользователем в настройках среды рабочего стола, чтобы позволить пользователю глобально управлять размерами пользовательского интерфейса и шрифтов в разных приложениях.
Документация свойств
availableGeometry : const QRect
Это свойство содержит доступную геометрию экрана в пикселях.
Доступная геометрия — это геометрия, исключающая области, зарезервированные менеджером окон, такие как панели задач и системные меню.
Обратите внимание, что в X11 это вернёт истинную доступную геометрию только на системах с одним монитором и если менеджер окон установил атом _NET_WORKAREA. Во всех остальных случаях он равен geometry(). Это ограничение спецификации менеджеров окон X11.
Функции доступа:
| QRect | availableGeometry() const |
Сигнал уведомления:
| void | availableGeometryChanged(const QRect &geometry) |
availableSize : const QSize
Это свойство содержит доступный размер экрана в пикселях.
Доступный размер — это размер, исключающий области, зарезервированные менеджером окон, такие как панели задач и системные меню.
Функции доступа:
| QSize | availableSize() const |
Сигнал уведомления:
| void | availableGeometryChanged(const QRect &geometry) |
availableVirtualGeometry : const QRect
Это свойство содержит доступную геометрию виртуального рабочего стола, к которому принадлежит этот экран.
Возвращает доступную геометрию виртуального рабочего стола, соответствующего этому экрану.
Это объединение индивидуальных доступных геометрий виртуальных «сестёр».
Функции доступа:
| QRect | availableVirtualGeometry() const |
Сигнал уведомления:
| void | virtualGeometryChanged(const QRect &rect) |
См. также availableGeometry() и virtualSiblings().
availableVirtualSize : const QSize
Это свойство содержит доступный размер виртуального рабочего стола, к которому принадлежит этот экран.
Возвращает доступный размер в пикселях виртуального рабочего стола, соответствующего этому экрану.
Это объединённый размер индивидуальных доступных геометрий виртуальных «сестёр».
Функции доступа:
| QSize | availableVirtualSize() const |
Сигнал уведомления:
| void | virtualGeometryChanged(const QRect &rect) |
См. также availableSize() и virtualSiblings().
depth : const int
Это свойство содержит цветную глубину экрана.
Функции доступа:
| int | depth() const |
devicePixelRatio : const qreal
Это свойство содержит соотношение между физическими пикселями и независимыми от устройства пикселями экрана.
Возвращает соотношение между физическими пикселями и независимыми от устройства пикселями для экрана.
Общие значения — 1.0 для обычных дисплеев и 2.0 для дисплеев «ретина». Возможны и другие значения.
Это свойство было введено в Qt 5.5.
Функции доступа:
| qreal | devicePixelRatio() const |
Сигнал уведомления:
| void | physicalDotsPerInchChanged(qreal dpi) |
См. также QWindow::devicePixelRatio() и QGuiApplication::devicePixelRatio().
geometry : const QRect
Это свойство содержит геометрию экрана в пикселях.
Например, может вернуть QRect(0, 0, 1280, 1024), или, в случае виртуального рабочего стола, QRect(1280, 0, 1280, 1024).
Функции доступа:
| QRect | geometry() const |
Сигнал уведомления:
| void | geometryChanged(const QRect &geometry) |
logicalDotsPerInch : const qreal
Это свойство содержит количество логических точек или пикселей на дюйм.
Это значение можно использовать для преобразования размеров шрифтов в пиксели.
Это удобное свойство, являющееся просто средним значением свойств logicalDotsPerInchX и logicalDotsPerInchY.
Функции доступа:
| qreal | logicalDotsPerInch() const |
Сигнал уведомления:
| void | logicalDotsPerInchChanged(qreal dpi) |
См. также logicalDotsPerInchX() и logicalDotsPerInchY().
logicalDotsPerInchX : const qreal
Это свойство содержит количество логических точек или пикселей на дюйм в горизонтальном направлении.
Это значение используется для преобразования размеров шрифтов в пиксели.
Функции доступа:
| qreal | logicalDotsPerInchX() const |
Сигнал уведомления:
| void | logicalDotsPerInchChanged(qreal dpi) |
См. также logicalDotsPerInchY().
logicalDotsPerInchY : const qreal
Это свойство содержит количество логических точек или пикселей на дюйм в вертикальном направлении.
Это значение используется для преобразования размеров шрифтов в пиксели.
Функции доступа:
| qreal | logicalDotsPerInchY() const |
Сигнал уведомления:
| void | logicalDotsPerInchChanged(qreal dpi) |
См. также logicalDotsPerInchX().
manufacturer : const QString
Это свойство содержит производителя экрана.
Это свойство было введено в Qt 5.9.
Функции доступа:
| QString | manufacturer() const |
model : const QString
Это свойство содержит модель экрана.
Это свойство было введено в Qt 5.9.
Функции доступа:
| QString | model() const |
name : const QString
Это свойство содержит удобочитаемую строку, представляющую экран.
Например, в X11 они соответствуют именам экранов XRandr, обычно «VGA1», «HDMI1» и т. д.
Функции доступа:
| QString | name() const |
nativeOrientation : const Qt::ScreenOrientation
Это свойство содержит родное ориентацию экрана.
Нативное ориентация экрана — это ориентация, где значок логотипа устройства отображается правильно, или Qt::PrimaryOrientation, если платформа не поддерживает эту функцию.
Нативная ориентация является свойством аппаратного обеспечения и не изменяется.
Это свойство было введено в Qt 5.2.
Функции доступа:
| Qt::ScreenOrientation | nativeOrientation() const |
orientation : const Qt::ScreenOrientation
Это свойство содержит ориентацию экрана.
Ориентация экрана представляет физическую ориентацию дисплея. Например, ориентация экрана мобильного устройства меняется в зависимости от того, как он удерживается. Изменение ориентации может или не может вызвать изменение первичной ориентации экрана.
Изменения этого свойства будут отфильтрованы orientationUpdateMask(), поэтому для получения обновлений ориентации приложение должно сначала вызвать setOrientationUpdateMask() с маской ориентаций, которые оно хочет получить.
Qt::PrimaryOrientation никогда не возвращается.
Функции доступа:
| Qt::ScreenOrientation | orientation() const |
Сигнал уведомления:
| void | orientationChanged(Qt::ScreenOrientation orientation) |
См. также primaryOrientation().
physicalDotsPerInch : const qreal
Это свойство содержит количество физических точек или пикселей на дюйм.
Это значение представляет плотность пикселей на дисплее экрана. В зависимости от предоставляемой основной системой информации, значение может быть не совсем точным.
Это свойство удобства, представляющее собой просто среднее значение свойств physicalDotsPerInchX и physicalDotsPerInchY.
Функции доступа:
| qreal | physicalDotsPerInch() const |
Сигнал уведомления:
| void | physicalDotsPerInchChanged(qreal dpi) |
См. также physicalDotsPerInchX() и physicalDotsPerInchY().
physicalDotsPerInchX : const qreal
Это свойство содержит количество физических точек или пикселей на дюйм в горизонтальном направлении.
Это значение представляет фактическую горизонтальную плотность пикселей на дисплее экрана. В зависимости от предоставляемой основной системой информации, значение может быть не совсем точным.
Функции доступа:
| qreal | physicalDotsPerInchX() const |
Сигнал уведомления:
| void | physicalDotsPerInchChanged(qreal dpi) |
См. также physicalDotsPerInchY().
physicalDotsPerInchY : const qreal
Это свойство содержит количество физических точек или пикселей на дюйм в вертикальном направлении.
Это значение представляет фактическую вертикальную плотность пикселей на дисплее экрана. В зависимости от предоставляемой основной системой информации, значение может быть не совсем точным.
Функции доступа:
| qreal | physicalDotsPerInchY() const |
Сигнал уведомления:
| void | physicalDotsPerInchChanged(qreal dpi) |
См. также physicalDotsPerInchX().
physicalSize : const QSizeF
Это свойство содержит физический размер экрана (в миллиметрах).
Физический размер представляет фактические физические размеры дисплея экрана.
В зависимости от предоставляемой основной системой информации, значение может быть не совсем точным.
Функции доступа:
| QSizeF | physicalSize() const |
Сигнал уведомления:
| void | physicalSizeChanged(const QSizeF &size) |
primaryOrientation : const Qt::ScreenOrientation
Это свойство содержит первичную ориентацию экрана.
Первичная ориентация экрана — Qt::LandscapeOrientation, если ширина геометрии экрана больше или равна высоте, или Qt::PortraitOrientation в противном случае. Это свойство может изменяться при изменении ориентации экрана (например, при повороте дисплея). Однако поведение зависит от платформы и часто может быть указано в файле манифеста приложения.
Функции доступа:
| Qt::ScreenOrientation | primaryOrientation() const |
Сигнал уведомления:
| void | primaryOrientationChanged(Qt::ScreenOrientation orientation) |
refreshRate : const qreal
Это свойство содержит приблизительную вертикальную частоту обновления экрана в Гц.
Функции доступа:
| qreal | refreshRate() const |
Сигнал уведомления:
| void | refreshRateChanged(qreal refreshRate) |
serialNumber : const QString
Это свойство содержит серийный номер экрана.
Это свойство было введено в Qt 5.9.
Функции доступа:
| QString | serialNumber() const |
size : const QSize
Это свойство содержит разрешение пикселей экрана.
Функции доступа:
| QSize | size() const |
Сигнал уведомления:
| void | geometryChanged(const QRect &geometry) |
virtualGeometry : const QRect
Это свойство содержит пиксельную геометрию виртуального рабочего стола, к которому принадлежит этот экран.
Возвращает пиксельную геометрию виртуального рабочего стола, соответствующего этому экрану.
Это объединение индивидуальных геометрий виртуальных «братьев».
Функции доступа:
| QRect | virtualGeometry() const |
Сигнал уведомления:
| void | virtualGeometryChanged(const QRect &rect) |
См. также virtualSiblings().
virtualSize : const QSize
Это свойство содержит пиксельный размер виртуального рабочего стола, к которому принадлежит этот экран.
Возвращает пиксельный размер виртуального рабочего стола, соответствующего этому экрану.
Это объединенный размер индивидуальных геометрий виртуальных «братьев».
Функции доступа:
| QSize | virtualSize() const |
Сигнал уведомления:
| void | virtualGeometryChanged(const QRect &rect) |
См. также virtualSiblings().
Документация по членам-функциям
[signal] void QScreen::orientationChanged(Qt::ScreenOrientation orientation)
Этот сигнал испускается при изменении ориентации экрана со значением orientation в качестве аргумента.
Примечание: Сигнал-уведомление для свойства orientation.
См. также orientation().
[signal] void QScreen::primaryOrientationChanged(Qt::ScreenOrientation orientation)
Этот сигнал испускается при изменении основной ориентации экрана со значением orientation в качестве аргумента.
Примечание: Сигнал-уведомление для свойства primaryOrientation.
См. также primaryOrientation().
[virtual] QScreen::~QScreen()
Уничтожает экран.
int QScreen::angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b) const
Вспомогательная функция для вычисления угла поворота для перехода от поворота a к повороту b.
Результат будет 0, 90, 180 или 270.
Qt::PrimaryOrientation интерпретируется как primaryOrientation экрана.
QPixmap QScreen::grabWindow(WId window, int x = 0, int y = 0, int width = -1, int height = -1)
Создает и возвращает пиксель, созданный путем захвата содержимого данного окна window, ограниченного QRect(x, y, width, height).
Аргументы (x, y) задают смещение в окне, а (width, height) — область, подлежащую копированию. Если width отрицателен, функция копирует все до правой границы окна. Если height отрицателен, функция копирует все до нижней границы окна.
Аргументы смещения и размера заданы в независимых от устройства пикселях. Возвращаемый пиксель может быть больше, чем запрашиваемый размер, при захвате с экрана с высокой DPI. Используйте QPixmap::devicePixelRatio(), чтобы определить, является ли это так.
Идентификатор окна системы (WId) можно получить, используя функцию QWidget::winId(). Причина использования идентификатора окна, а не QWidget, заключается в возможности захвата окон, которые не являются частью приложения, рамки оконной системы и т. д.
Предупреждение: Захват окон, не входящих в состав приложения, не поддерживается на таких системах, как iOS, где изоляция/безопасность предотвращает чтение пикселей окон, не принадлежащих приложению.
Функция grabWindow() захватывает пиксели с экрана, а не из окна, т. е. если другое окно частично или полностью накладывается на то, которое вы захватываете, вы получите и пиксели из наложенного окна. Курсор мыши обычно не захватывается.
Примечание для X11: если у данного window нет такой же глубины, как у корневого окна, и другое окно частично или полностью скрывает то, которое вы захватываете, вы не получите пиксели из наложенного окна. Содержимое скрытых областей в пикселе будет неопределенным и неинициализированным.
В Windows Vista и более поздних версиях захват наложенного окна, созданного с помощью установки атрибута Qt::WA_TranslucentBackground, не будет работать. Вместо этого захват виджета рабочего стола должен работать.
Предупреждение: В общем случае захват области за пределами экрана небезопасен. Это зависит от базовой оконной системы.
QPlatformScreen *QScreen::handle() const
Получить десктопный хэндл экрана.
См. также Qt Platform Abstraction (QPA).
bool QScreen::isLandscape(Qt::ScreenOrientation o) const
Вспомогательная функция, которая возвращает true если o представляет собой ландшафт или инвертированный ландшафт; в противном случае возвращает false.
Qt::PrimaryOrientation интерпретируется как primaryOrientation экрана.
bool QScreen::isPortrait(Qt::ScreenOrientation o) const
Вспомогательная функция, которая возвращает true если o представляет собой портрет или инвертированный портрет; в противном случае возвращает false.
Qt::PrimaryOrientation интерпретируется как primaryOrientation экрана.
QRect QScreen::mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect) const
Преобразует прямоугольник между двумя ориентациями экрана.
Это перевернёт x и y прямоугольника rect, если ориентация a — Qt::PortraitOrientation или Qt::InvertedPortraitOrientation, а ориентация b — Qt::LandscapeOrientation или Qt::InvertedLandscapeOrientation, или наоборот.
Qt::PrimaryOrientation интерпретируется как primaryOrientation экрана.
Qt::ScreenOrientations QScreen::orientationUpdateMask() const
Возвращает текущую установку маски обновлений ориентации.
См. также setOrientationUpdateMask().
void QScreen::setOrientationUpdateMask(Qt::ScreenOrientations mask)
Устанавливает ориентации, для которых приложение заинтересовано в получении обновлений в сочетании с этим экраном.
Например, для получения обновлений orientation() и, следовательно, получения сигналов orientationChanged() для LandscapeOrientation и InvertedLandscapeOrientation, вызовите setOrientationUpdateMask() со значением mask, установленным в Qt::LandscapeOrientation | Qt::InvertedLandscapeOrientation.
Значение по умолчанию, 0, означает, что сигналы orientationChanged() не генерируются.
См. также orientationUpdateMask().
QTransform QScreen::transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target) const
Вспомогательная функция для вычисления преобразования, которое отображает систему координат, определяемую ориентацией a, в систему координат, определяемую ориентацией b и целевыми размерами target.
Например, если a — Qt::Landscape, b — Qt::Portrait, а target — QRect(0, 0, w, h), полученное преобразование будет таким, что точка QPoint(0, 0) отображается в QPoint(0, w), а QPoint(h, w) отображается в QPoint(0, h). Таким образом, система координат ландшафта QRect(0, 0, h, w) отображается (с поворотом на 90 градусов) в систему координат портрета QRect(0, 0, w, h).
Qt::PrimaryOrientation интерпретируется как primaryOrientation экрана.
QScreen *QScreen::virtualSiblingAt(QPoint point)
Возвращает экран в позиции point в наборе QScreen::virtualSiblings(), или nullptr если за пределами любого экрана.
point относится к virtualGeometry() каждого набора виртуальных «братьев» по экрану.
Эта функция была добавлена в Qt 5.15.
QList<QScreen *> QScreen::virtualSiblings() const
Получить виртуальных «братьев» по экрану.
Виртуальные «братья» по экрану — это экземпляры экрана, которые разделяют один и тот же виртуальный рабочий стол. Они используют общую систему координат, и окна могут свободно перемещаться или позиционироваться между ними без необходимости повторного создания.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qscreen.html