Класс 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
Получить десктопный дескриптор экрана.
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.13/qscreen.html