Класс 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 | изменениеДоступнойГеометрии(const QRect &geometry) |
| void | изменениеГеометрии(const QRect &geometry) |
| void | изменениеЛогическихТочекНаДюйм(qreal dpi) |
| void | изменениеОриентации(Qt::ScreenOrientation orientation) |
| void | изменениеФизическихТочекНаДюйм(qreal dpi) |
| void | изменениеФизическогоРазмера(const QSizeF &size) |
| void | изменениеОсновнойОриентации(Qt::ScreenOrientation orientation) |
| void | изменениеЧастотыОбновления(qreal refreshRate) |
| void | изменениеВиртуальнойГеометрии(const QRect &rect) |
Подробное описание
Примечание по логическим и физическим точкам на дюйм: физическое разрешение 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)
Создаёт и возвращает пиксель, полученный путём захвата содержимого данного окна window, ограниченного QRect(x, y, width, height). Если window равно 0, то весь экран будет захвачен.
Аргументы (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 экрана.
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.2/qscreen.html