Класс 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 |
| 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 отрицателен, функция копирует всё до нижней границы окна.
Аргументы смещения и размера заданы в независимых от устройства пикселях. Возвращаемый пиксель может быть больше запрошенного размера при захвате с экрана с высоким разрешением. Вызовите 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 экрана.
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.14/qscreen.html