Класс QScreen
Класс QScreen используется для запроса свойств экрана. Подробнее...
| Заголовок: | #include <QScreen> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| С тех пор: | Qt 5.0 |
| Наследует: | QObject |
Свойства
|
|
Открытые функции
| 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 = 0, 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 |
| qreal | physicalDotsPerInch() const |
| qreal | physicalDotsPerInchX() const |
| qreal | physicalDotsPerInchY() const |
| QSizeF | physicalSize() const |
| Qt::ScreenOrientation | primaryOrientation() const |
| qreal | refreshRate() const |
| QString | serialNumber() const |
| 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. Логическое значение DPI иногда может настраиваться пользователем в настройках среды рабочего стола, чтобы глобально управлять размерами пользовательского интерфейса и шрифтов в разных приложениях.
Примечание: и физическое, и логическое значение DPI выражаются в независимых от устройства точках. Умножьте на QScreen::devicePixelRatio() для получения плотности, зависящей от устройства.
Документация свойств
[read-only] availableGeometry : const QRect
Это свойство содержит доступную геометрию экрана в пикселях.
Доступная геометрия — это геометрия, исключающая области, зарезервированные менеджером окон, такие как панели задач и системные меню.
Обратите внимание, что в X11 это свойство вернёт истинную доступную геометрию только на системах с одним монитором и если менеджер окон установил атом _NET_WORKAREA. Во всех остальных случаях оно равно geometry(). Это ограничение в спецификации менеджера окон X11.
Функции доступа:
| QRect | availableGeometry() const |
Сигнал уведомления:
| void | availableGeometryChanged(const QRect &geometry) |
[read-only] availableSize : const QSize
Это свойство содержит доступный размер экрана в пикселях.
Доступный размер — это размер, исключающий области, зарезервированные менеджером окон, такие как панели задач и системные меню.
Функции доступа:
| QSize | availableSize() const |
Сигнал уведомления:
| void | availableGeometryChanged(const QRect &geometry) |
[read-only] availableVirtualGeometry : const QRect
Это свойство содержит доступную геометрию виртуального рабочего стола, к которому принадлежит этот экран.
Возвращает доступную геометрию виртуального рабочего стола, соответствующего этому экрану.
Это объединение отдельных доступных геометрий виртуальных "братьев" экрана.
Функции доступа:
| QRect | availableVirtualGeometry() const |
Сигнал уведомления:
| void | virtualGeometryChanged(const QRect &rect) |
См. также availableGeometry() и virtualSiblings().
[read-only] availableVirtualSize : const QSize
Это свойство содержит доступный размер виртуального рабочего стола, к которому принадлежит этот экран.
Возвращает доступный размер в пикселях виртуального рабочего стола, соответствующего этому экрану.
Это совокупный размер доступных геометрий виртуальных "братьев" экрана.
Функции доступа:
| QSize | availableVirtualSize() const |
Сигнал уведомления:
| void | virtualGeometryChanged(const QRect &rect) |
См. также availableSize() и virtualSiblings().
[read-only] depth : const int
Это свойство содержит цветоглубину экрана.
Функции доступа:
| int | depth() const |
[read-only, since 5.5] devicePixelRatio : const qreal
Это свойство содержит отношение между физическими пикселями и пикселями независимыми от устройства для экрана.
Возвращает отношение между физическими пикселями и пикселями, независимыми от устройства, для экрана.
Типичные значения: 1.0 для обычных дисплеев и 2.0 для дисплеев "ретина". Возможны и другие значения.
Это свойство было введено в Qt 5.5.
Функции доступа:
| qreal | devicePixelRatio() const |
Сигнал уведомления:
| void | physicalDotsPerInchChanged(qreal dpi) |
См. также QWindow::devicePixelRatio() и QGuiApplication::devicePixelRatio().
[read-only] geometry : const QRect
Это свойство содержит геометрию экрана в пикселях.
Например, может возвращать QRect(0, 0, 1280, 1024), или, в случае виртуального рабочего стола, QRect(1280, 0, 1280, 1024).
Функции доступа:
| QRect | geometry() const |
Сигнал уведомления:
| void | geometryChanged(const QRect &geometry) |
[read-only] logicalDotsPerInch : const qreal
Это свойство содержит количество логических точек или пикселей на дюйм.
Это значение может использоваться для преобразования размеров шрифта в пиксели.
Это удобное свойство, которое просто является средним значением свойств logicalDotsPerInchX и logicalDotsPerInchY.
Функции доступа:
| qreal | logicalDotsPerInch() const |
Сигнал уведомления:
| void | logicalDotsPerInchChanged(qreal dpi) |
См. также logicalDotsPerInchX() и logicalDotsPerInchY().
[read-only] logicalDotsPerInchX : const qreal
Это свойство содержит количество логических точек или пикселей на дюйм в горизонтальном направлении.
Это значение используется для преобразования размеров шрифта в пиксели.
Функции доступа:
| qreal | logicalDotsPerInchX() const |
Сигнал уведомления:
| void | logicalDotsPerInchChanged(qreal dpi) |
См. также logicalDotsPerInchY().
[read-only] logicalDotsPerInchY : const qreal
Это свойство содержит количество логических точек или пикселей на дюйм в вертикальном направлении.
Это значение используется для преобразования размеров шрифта в пиксели.
Функции доступа:
| qreal | logicalDotsPerInchY() const |
Сигнал уведомления:
| void | logicalDotsPerInchChanged(qreal dpi) |
См. также logicalDotsPerInchX().
[read-only, since 5.9] manufacturer : const QString
Это свойство содержит производителя экрана.
Это свойство было введено в Qt 5.9.
Функции доступа:
| QString | manufacturer() const |
[read-only, since 5.9] model : const QString
Это свойство содержит модель экрана.
Это свойство было введено в Qt 5.9.
Функции доступа:
| QString | model() const |
[read-only] name : const QString
Это свойство содержит строку, представляющую экран в удобном для пользователя формате.
Например, в X11 они соответствуют именам экранов XRandr, обычно "VGA1", "HDMI1" и т. д.
Функции доступа:
| QString | name() const |
[read-only, since 5.2] nativeOrientation : const Qt::ScreenOrientation
Это свойство содержит родную ориентацию экрана
Родная ориентация экрана — это ориентация, в которой значок логотипа устройства отображается правильно, или Qt::PrimaryOrientation, если платформа не поддерживает эту функциональность.
Родная ориентация — свойство аппаратного обеспечения и не меняется.
Это свойство было введено в Qt 5.2.
Функции доступа:
| Qt::ScreenOrientation | nativeOrientation() const |
[read-only] orientation : const Qt::ScreenOrientation
Это свойство содержит ориентацию экрана
Свойство orientation указывает ориентацию экрана с точки зрения системного окна.
Большинство мобильных устройств и планшетов содержат датчики акселерометра. Модуль Qt Sensors предоставляет возможность прямого считывания данных с этого датчика. Однако система окон может автоматически вращать весь экран в зависимости от того, как он удерживается; в этом случае свойство orientation изменится.
Функции доступа:
| Qt::ScreenOrientation | orientation() const |
Сигнал уведомления:
| void | orientationChanged(Qt::ScreenOrientation orientation) |
См. также primaryOrientation() и QWindow::contentOrientation().
[read-only] physicalDotsPerInch : const qreal
Это свойство содержит количество физических точек или пикселей на дюйм
Это значение представляет плотность пикселей на экране. В зависимости от информации, предоставляемой базовой системой, значение может быть не совсем точным.
Это удобное свойство, представляющее собой просто среднее значение свойств physicalDotsPerInchX и physicalDotsPerInchY.
Примечание: Физический DPI выражается в независимых от устройства точках. Умножьте на QScreen::devicePixelRatio(), чтобы получить плотность, зависящую от устройства.
Функции доступа:
| qreal | physicalDotsPerInch() const |
Сигнал уведомления:
| void | physicalDotsPerInchChanged(qreal dpi) |
См. также physicalDotsPerInchX() и physicalDotsPerInchY().
[read-only] physicalDotsPerInchX : const qreal
Это свойство содержит количество физических точек или пикселей на дюйм в горизонтальном направлении
Это значение представляет фактическую горизонтальную плотность пикселей на экране. В зависимости от информации, предоставляемой базовой системой, значение может быть не совсем точным.
Примечание: Физический DPI выражается в независимых от устройства точках. Умножьте на QScreen::devicePixelRatio(), чтобы получить плотность, зависящую от устройства.
Функции доступа:
| qreal | physicalDotsPerInchX() const |
Сигнал уведомления:
| void | physicalDotsPerInchChanged(qreal dpi) |
См. также physicalDotsPerInchY().
[read-only] physicalDotsPerInchY : const qreal
Это свойство содержит количество физических точек или пикселей на дюйм в вертикальном направлении
Это значение представляет фактическую вертикальную плотность пикселей на экране. В зависимости от информации, предоставляемой базовой системой, значение может быть не совсем точным.
Примечание: Физический DPI выражается в независимых от устройства точках. Умножьте на QScreen::devicePixelRatio(), чтобы получить плотность, зависящую от устройства.
Функции доступа:
| qreal | physicalDotsPerInchY() const |
Сигнал уведомления:
| void | physicalDotsPerInchChanged(qreal dpi) |
См. также physicalDotsPerInchX().
[read-only] physicalSize : const QSizeF
Это свойство содержит физический размер экрана (в миллиметрах)
Физический размер представляет собой фактические физические размеры дисплея экрана.
В зависимости от информации, предоставляемой базовой системой, значение может быть не совсем точным.
Функции доступа:
| QSizeF | physicalSize() const |
Сигнал уведомления:
| void | physicalSizeChanged(const QSizeF &size) |
[read-only] primaryOrientation : const Qt::ScreenOrientation
Это свойство содержит основную ориентацию экрана
Основная ориентация экрана — это Qt::LandscapeOrientation, если ширина геометрии экрана больше или равна высоте, или Qt::PortraitOrientation в противном случае. Это свойство может измениться при изменении ориентации экрана (например, при повороте дисплея). Однако поведение зависит от платформы и часто может быть указано в файле манифеста приложения.
Функции доступа:
| Qt::ScreenOrientation | primaryOrientation() const |
Сигнал уведомления:
| void | primaryOrientationChanged(Qt::ScreenOrientation orientation) |
[read-only] refreshRate : const qreal
Это свойство содержит приблизительную вертикальную частоту обновления экрана в Гц
Функции доступа:
| qreal | refreshRate() const |
Сигнал уведомления:
| void | refreshRateChanged(qreal refreshRate) |
[read-only, since 5.9] serialNumber : const QString
Это свойство содержит серийный номер экрана
Это свойство было введено в Qt 5.9.
Функции доступа:
| QString | serialNumber() const |
[read-only] size : const QSize
Это свойство содержит разрешение пикселей экрана
Функции доступа:
| QSize | size() const |
Сигнал уведомления:
| void | geometryChanged(const QRect &geometry) |
[read-only] virtualGeometry : const QRect
Это свойство содержит пиксельную геометрию виртуального рабочего стола, к которому относится этот экран
Возвращает пиксельную геометрию виртуального рабочего стола, соответствующего этому экрану.
Это объединение индивидуальных геометрий виртуальных "братьев" (по экранам).
Функции доступа:
| QRect | virtualGeometry() const |
Сигнал уведомления:
| void | virtualGeometryChanged(const QRect &rect) |
См. также virtualSiblings().
[read-only] 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 = 0, int x = 0, int y = 0, int width = -1, int height = -1)
Создаёт и возвращает объект pixmap, созданный путём захвата содержимого заданного окна window, ограниченного QRect(x, y, width, height). Если window равно 0, то будет захвачен весь экран.
Аргументы (x, y) задают смещение в окне, а (width, height) — область для копирования. Если width отрицательное, функция копирует всё до правой границы окна. Если height отрицательное, функция копирует всё до нижней границы окна.
Аргументы смещения и размера задаются в независимых от устройства пикселях. Возвращаемый pixmap может быть больше, чем запрошенный размер, при захвате с экрана с высоким разрешением. Используйте QPixmap::devicePixelRatio() для определения этого.
Идентификатор окна системы (WId) можно получить, используя функцию QWidget::winId(). Причина использования идентификатора окна, а не QWidget, заключается в возможности захвата окон, которые не являются частью приложения, рамок системы окон и т.д.
Предупреждение: Захват окон, не являющихся частью приложения, не поддерживается на системах, таких как iOS, где ограничение доступа/безопасность предотвращает чтение пикселей окон, не принадлежащих приложению.
Функция grabWindow() захватывает пиксели с экрана, а не из окна, т.е. если другое окно частично или полностью перекрывает то, которое вы захватываете, вы также получите пиксели из наложенного окна.
Курсор мыши обычно не захватывается.
Примечание по X11: если у заданного window глубина не такая же, как у корневого окна, и другое окно частично или полностью заслоняет то, которое вы захватываете, вы не получите пиксели из наложенного окна. Содержимое скрытых областей в pixmap будет неопределённым и незаполненным.
В 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 экрана.
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 экрана.
[since 5.15] 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-6.1/qscreen.html