Класс QWindow
Класс QWindow представляет окно в подлежащей системе окон. Подробнее...
| Заголовок: | #include <QWindow> |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
| Наследуется от: | QObject и QSurface |
| Наследуется: |
Открытые типы
| Перечисление | AncestorMode { ExcludeTransients, IncludeTransients } |
| Перечисление | Visibility { Windowed, Minimized, Maximized, FullScreen, AutomaticVisibility, Hidden } |
Свойства
|
- 1 свойство унаследовано от QObject
Открытые функции
| QWindow(QScreen *targetScreen = Q_NULLPTR) | |
| QWindow(QWindow *parent) | |
| virtual | ~QWindow() |
| QSize | baseSize() const |
| Qt::ScreenOrientation | contentOrientation() const |
| void | create() |
| QCursor | cursor() const |
| void | destroy() |
| qreal | devicePixelRatio() const |
| QString | filePath() const |
| Qt::WindowFlags | flags() const |
| virtual QObject * | focusObject() const |
| QRect | frameGeometry() const |
| QMargins | frameMargins() const |
| QPoint | framePosition() const |
| QRect | geometry() const |
| int | height() const |
| QIcon | icon() const |
| bool | isActive() const |
| bool | isAncestorOf(const QWindow *child, AncestorMode mode = IncludeTransients) const |
| bool | isExposed() const |
| bool | isModal() const |
| bool | isTopLevel() const |
| bool | isVisible() const |
| QPoint | mapFromGlobal(const QPoint &pos) const |
| QPoint | mapToGlobal(const QPoint &pos) const |
| QRegion | mask() const |
| int | maximumHeight() const |
| QSize | maximumSize() const |
| int | maximumWidth() const |
| int | minimumHeight() const |
| QSize | minimumSize() const |
| int | minimumWidth() const |
| Qt::WindowModality | modality() const |
| qreal | opacity() const |
| QWindow * | parent(AncestorMode mode) const |
| QWindow * | parent() const |
| QPoint | position() const |
| void | reportContentOrientationChange(Qt::ScreenOrientation orientation) |
| QSurfaceFormat | requestedFormat() const |
| void | resize(const QSize &newSize) |
| void | resize(int w, int h) |
| QScreen * | screen() const |
| void | setBaseSize(const QSize &size) |
| void | setCursor(const QCursor &cursor) |
| void | setFilePath(const QString &filePath) |
| void | setFlag(Qt::WindowType flag, bool on = true) |
| void | setFlags(Qt::WindowFlags flags) |
| void | setFormat(const QSurfaceFormat &format) |
| void | setFramePosition(const QPoint &point) |
| void | setGeometry(int posx, int posy, int w, int h) |
| void | setGeometry(const QRect &rect) |
| void | setIcon(const QIcon &icon) |
| bool | setKeyboardGrabEnabled(bool grab) |
| void | setMask(const QRegion ®ion) |
| void | setMaximumSize(const QSize &size) |
| void | setMinimumSize(const QSize &size) |
| void | setModality(Qt::WindowModality modality) |
| bool | setMouseGrabEnabled(bool grab) |
| void | setOpacity(qreal level) |
| void | setParent(QWindow *parent) |
| void | setPosition(const QPoint &pt) |
| void | setPosition(int posx, int posy) |
| void | setScreen(QScreen *newScreen) |
| void | установитьПриращениеРазмеры(const QSize &size) |
| void | установитьТипПоверхности(SurfaceType surfaceType) |
| void | установитьВременногоРодителя(QWindow *parent) |
| void | установитьВидимость(Visibility v) |
| void | установитьСостояниеОкна(Qt::WindowState state) |
| QSize | приращениеРазмеры() const |
| QString | заголовок() const |
| QWindow * | временныйРодитель() const |
| Qt::WindowType | тип() const |
| void | сброситьУказатель() |
| Visibility | видимость() const |
| int | ширина() const |
| WId | winId() const |
| Qt::WindowState | состояниеОкна() const |
| int | x() const |
| int | y() const |
Переопределённые публичные функции
| virtual QSurfaceFormat | формат() const |
| virtual QSize | размер() const |
| virtual SurfaceType | типПоверхности() const |
Публичные слоты
| void | предупреждение(int msec) |
| bool | закрыть() |
| void | скрыть() |
| void | отодвинутьНазад() |
| void | отодвинутьВперед() |
| void | запроситьАктивацию() |
| void | запроситьОбновление() |
| void | установитьВысоту(int arg) |
| void | установитьМаксимальнуюВысоту(int h) |
| void | установитьМаксимальнуюШирину(int w) |
| void | установитьМинимальнуюВысоту(int h) |
| void | установитьМинимальнуюШирину(int w) |
| void | установитьЗаголовок(const QString &) |
| void | установитьВидимым(bool visible) |
| void | установитьШирину(int arg) |
| void | установитьX(int arg) |
| void | установитьY(int arg) |
| void | показать() |
| void | отобразитьНаВесьЭкран() |
| void | отобразитьМаксимизированным() |
| void | отобразитьМинимизированным() |
| void | отобразитьНормально() |
- 1 публичный слот, унаследованный от QObject
Сигналы
| void | изменениеАктивности() |
| void | изменениеОриентацииСодержимого(Qt::ScreenOrientation orientation) |
| void | изменениеОбъектаФокуса(QObject *object) |
| void | изменениеВысоты(int arg) |
| void | изменениеМаксимальнойВысоты(int arg) |
| void | изменениеМаксимальнойШирины(int arg) |
| void | изменениеМинимальнойВысоты(int arg) |
| void | изменениеМинимальнойШирины(int arg) |
| void | изменениеМодальности(Qt::WindowModality modality) |
| void | изменениеПрозрачности(qreal opacity) |
| void | изменениеЭкрана(QScreen *screen) |
| void | изменениеВидимости(QWindow::Visibility visibility) |
| void | изменениеВидимости(bool arg) |
| void | изменениеШирины(int arg) |
| void | изменениеСостоянияОкна(Qt::WindowState windowState) |
| void | изменениеЗаголовкаОкна(const QString &title) |
| void | изменениеX(int arg) |
| void | изменениеY(int arg) |
- 2 сигнала, унаследованные от QObject
Статические публичные члены
| QWindow * | изWinId(WId id) |
- 11 статических публичных членов, унаследованных от QObject
Защищённые функции
| виртуальный void | exposeEvent(QExposeEvent *ev) |
| виртуальный void | focusInEvent(QFocusEvent *ev) |
| виртуальный void | focusOutEvent(QFocusEvent *ev) |
| виртуальный void | hideEvent(QHideEvent *ev) |
| виртуальный void | keyPressEvent(QKeyEvent *ev) |
| виртуальный void | keyReleaseEvent(QKeyEvent *ev) |
| виртуальный void | mouseDoubleClickEvent(QMouseEvent *ev) |
| виртуальный void | mouseMoveEvent(QMouseEvent *ev) |
| виртуальный void | mousePressEvent(QMouseEvent *ev) |
| виртуальный void | mouseReleaseEvent(QMouseEvent *ev) |
| виртуальный void | moveEvent(QMoveEvent *ev) |
| виртуальный bool | nativeEvent(const QByteArray &eventType, void *message, long *result) |
| виртуальный void | resizeEvent(QResizeEvent *ev) |
| виртуальный void | showEvent(QShowEvent *ev) |
| виртуальный void | tabletEvent(QTabletEvent *ev) |
| виртуальный void | touchEvent(QTouchEvent *ev) |
| виртуальный void | wheelEvent(QWheelEvent *ev) |
Реализованные защищённые функции
| виртуальный bool | event(QEvent *ev) |
- 9 защищённых функций унаследованных от QObject
Подробное описание
Класс QWindow представляет окно в базовой системе окон.
Окно, которому предоставлен родитель, становится родственным дочерним окном родительского окна.
Приложение обычно использует QWidget или QQuickView для своего пользовательского интерфейса, а не QWindow напрямую. Тем не менее, можно непосредственно отображать в QWindow с помощью QBackingStore или QOpenGLContext, когда необходимо свести зависимости к минимуму или использовать OpenGL напрямую. Примеры «Пример окна растрового изображения» и «Пример окна OpenGL» являются полезными справочными примерами, показывающими, как отображать в QWindow с помощью каждого из подходов.
Управление ресурсами
Окна могут потенциально использовать много памяти. Обычно мерой является ширина умноженная на высоту умноженную на глубину цвета. Окно может также включать несколько буферов для поддержки двойной и тройной буферизации, а также буферов глубины и трафарета. Для освобождения ресурсов памяти окна вызовите функцию destroy().
Ориентация содержимого
QWindow имеет reportContentOrientationChange(), которая может использоваться для указания расположения содержимого окна по отношению к экрану. Ориентация содержимого — это просто подсказка для системы окон о том, в какой ориентации находится содержимое окна. Она полезна, когда вы хотите сохранить тот же размер окна, но вращать содержимое вместо него, особенно при выполнении анимаций вращения между различными ориентациями. Система окон может использовать это значение для определения расположения всплывающих окон или диалоговых окон системы.
Видимость и экспонирование в системе окон
По умолчанию окно невидимо, и вы должны вызвать setVisible(true) или show() или аналогичную функцию, чтобы сделать его видимым. Чтобы снова скрыть окно, вызовите setVisible(false) или hide(). Свойство visible описывает состояние, в котором приложение хочет видеть окно. В зависимости от базовой системы видимое окно всё равно может не отображаться на экране. Например, оно может быть закрыто другими непрозрачными окнами или перемещено за физическую область экрана. В системах окон, которые имеют уведомления об экспонировании, свойство isExposed() описывает, должно ли окно рассматриваться как непосредственно видимое на экране. Функция exposeEvent() вызывается всякий раз, когда состояние экспонирования окна в системе окон меняется. В системах окон, которые не предоставляют этой информации приложению, isExposed() просто возвращает то же значение, что и isVisible().
QWindow::Visibility, запрашиваемая через visibility(), — это удобный API, объединяющий функции visible() и windowState().
Отображение
Существуют два API Qt, которые можно использовать для отображения содержимого в окне: QBackingStore для отображения с помощью QPainter и вывода содержимого в окно типа QSurface::RasterSurface, и QOpenGLContext для отображения с помощью OpenGL в окне типа QSurface::OpenGLSurface.
Приложение может начать отображение, как только isExposed() вернёт true, и может продолжать отображение, пока не вернёт false. Чтобы узнать, когда isExposed() меняется, переопределите exposeEvent(). Окно всегда получит событие изменения размера перед первым событием экспонирования.
Начальная геометрия
Если ширина и высота окна не инициализированы, окно получит разумную геометрию по умолчанию от платформы. Если положение не инициализировано, то платформа позволит системе окон расположить окно. Например, в X11 менеджер окон обычно выполняет своего рода интеллектуальное позиционирование, чтобы пытаться избежать того, чтобы новые окна полностью закрывали существующие окна. Однако setGeometry() инициализирует и положение, и размер, поэтому если вам нужен фиксированный размер, но автоматическое положение, вы должны вызвать resize() или setWidth() и setHeight() вместо этого.
Документация по типам членов
перечисление QWindow::AncestorMode
Это перечисление используется для управления тем, следует ли рассматривать временных родителей как предков.
| Константа | Значение | Описание |
|---|---|---|
QWindow::ExcludeTransients |
0 |
Временные родители не рассматриваются как предки. |
QWindow::IncludeTransients |
1 |
Временные родители рассматриваются как предки. |
перечисление QWindow::Visibility
Это перечисление описывает, какую часть экрана занимает или должно занимать окно.
| Константа | Значение | Описание |
|---|---|---|
QWindow::Windowed |
2 |
Окно занимает часть экрана, но не обязательно весь экран. Это состояние будет встречаться только на системах с поддержкой одновременного отображения нескольких окон. В этом состоянии пользователь может вручную перемещать и изменять размер окна, если это разрешено флагами окна и поддерживается системой управления окнами. |
QWindow::Minimized |
3 |
Окно сведено к значку или записи на панели задач, доке, списке задач или рабочем столе в зависимости от того, как система управления окнами обрабатывает свёрнутые окна. |
QWindow::Maximized |
4 |
Окно занимает весь экран, и строка заголовка всё ещё видна. На большинстве систем управления окнами это состояние достигается нажатием кнопки максимизации на панели инструментов. |
QWindow::FullScreen |
5 |
Окно занимает весь экран, не изменяет размер, и нет строки заголовка. На некоторых платформах, которые не поддерживают одновременное отображение нескольких окон, это может быть обычным состоянием видимости, когда окно не скрыто. |
QWindow::AutomaticVisibility |
1 |
Это означает, что окну задаётся стандартное видимое состояние, которое может быть полноэкранным или оконным в зависимости от платформы. Оно может быть передано в качестве параметра к setVisibility, но никогда не будет считано обратно из свойства видимости. |
QWindow::Hidden |
0 |
Окно невидимо, однако может сохранять скрытое состояние видимости, которое можно восстановить, установив AutomaticVisibility. |
Этот перечисление был введён или изменён в Qt 5.1.
Документация по свойствам
active : const bool
Это свойство хранит статус активности окна
Это свойство было введено в Qt 5.1.
Функции доступа:
| bool | isActive() const |
Сигнал уведомления:
| void | activeChanged() |
См. также requestActivate().
contentOrientation : Qt::ScreenOrientation
Это свойство хранит ориентацию содержимого окна
Это подсказка для менеджера окон, в случае если ему нужно отобразить дополнительный контент, например, всплывающие окна, диалоги, строки состояния или подобное, относительно окна.
Рекомендуемая ориентация — QScreen::orientation(), но приложение не обязано поддерживать все возможные ориентации и, таким образом, может выбрать игнорирование текущей ориентации экрана.
Разница между ориентацией окна и ориентацией содержимого определяет, насколько нужно повернуть содержимое. QScreen::angleBetween(), QScreen::transformBetween() и QScreen::mapBetween() могут использоваться для вычисления необходимого преобразования.
Значение по умолчанию — Qt::PrimaryOrientation
Функции доступа:
| Qt::ScreenOrientation | contentOrientation() const |
| void | reportContentOrientationChange(Qt::ScreenOrientation orientation) |
Сигнал уведомления:
| void | contentOrientationChanged(Qt::ScreenOrientation orientation) |
flags : Qt::WindowFlags
Это свойство хранит флаги окна
Флаги окна управляют внешним видом окна в системе окон, является ли оно диалоговым окном, всплывающим окном или обычным окном, и должно ли оно иметь строку заголовка и т.д.
Фактические флаги окна могут отличаться от флагов, установленных с помощью setFlags(), если запрошенные флаги не могут быть выполнены.
Функции доступа:
| Qt::WindowFlags | flags() const |
| void | setFlags(Qt::WindowFlags flags) |
См. также setFlag().
height : int
Это свойство хранит высоту геометрии окна
Функции доступа:
| int | height() const |
| void | setHeight(int arg) |
Сигнал уведомления:
| void | heightChanged(int arg) |
maximumHeight : int
Это свойство хранит максимальную высоту геометрии окна
Функции доступа:
| int | maximumHeight() const |
| void | setMaximumHeight(int h) |
Сигнал уведомления:
| void | maximumHeightChanged(int arg) |
maximumWidth : int
Это свойство хранит максимальную ширину геометрии окна
Функции доступа:
| int | maximumWidth() const |
| void | setMaximumWidth(int w) |
Сигнал уведомления:
| void | maximumWidthChanged(int arg) |
minimumHeight : int
Это свойство хранит минимальную высоту геометрии окна
Функции доступа:
| int | minimumHeight() const |
| void | setMinimumHeight(int h) |
Сигнал уведомления:
| void | minimumHeightChanged(int arg) |
minimumWidth : int
Это свойство хранит минимальную ширину геометрии окна
Функции доступа:
| int | minimumWidth() const |
| void | setMinimumWidth(int w) |
Сигнал уведомления:
| void | minimumWidthChanged(int arg) |
modality : Qt::WindowModality
Это свойство хранит модальность окна
Модальное окно предотвращает получение событий ввода другими окнами. Qt поддерживает два типа модальностей: Qt::WindowModal и Qt::ApplicationModal.
По умолчанию это свойство имеет значение Qt::NonModal
Функции доступа:
| Qt::WindowModality | modality() const |
| void | setModality(Qt::WindowModality modality) |
Сигнал уведомления:
| void | modalityChanged(Qt::WindowModality modality) |
См. также Qt::WindowModality.
opacity : qreal
Это свойство хранит непрозрачность окна в системе окон.
Если система окон поддерживает непрозрачность окна, это можно использовать для плавного появления и исчезновения окна или для того, чтобы сделать его полупрозрачным.
Значение 1,0 или выше рассматривается как полностью непрозрачное, а значение 0,0 или ниже — как полностью прозрачное. Промежуточные значения представляют собой различные уровни полупрозрачности между двумя крайностями.
Значение по умолчанию — 1,0.
Это свойство было введено в Qt 5.1.
Функции доступа:
| qreal | opacity() const |
| void | setOpacity(qreal level) |
Сигнал уведомления:
| void | opacityChanged(qreal opacity) |
title : QString
Это свойство хранит заголовок окна в системе окон
Заголовок окна может отображаться в области заголовка украшений окна, в зависимости от системы окон и флагов окна. Он также может использоваться системой окон для идентификации окна в других контекстах, например, в переключателе задач.
Функции доступа:
| QString | title() const |
| void | setTitle(const QString &) |
Сигнал уведомления:
| void | windowTitleChanged(const QString &title) |
См. также flags().
visibility : Visibility
Это свойство хранит состояние занятости экрана окном
Видимость определяет, должно ли окно отображаться в системе окон как обычное, свёрнутое, максимализированное, полноэкранное или скрытое.
Установление видимости в AutomaticVisibility означает присвоение окну состояния видимости по умолчанию, которое может быть полноэкранным или оконным в зависимости от платформы. При чтении свойства видимости вы всегда получите фактическое состояние, а не AutomaticVisibility.
Это свойство было введено в Qt 5.1.
Функции доступа:
| Visibility | visibility() const |
| void | setVisibility(Visibility v) |
Сигнал уведомления:
| void | visibilityChanged(QWindow::Visibility visibility) |
visible : bool
Это свойство содержит значение, определяющее, является ли окно видимым.
Это свойство управляет видимостью окна в системе окон.
По умолчанию окно невидимо; необходимо вызвать setVisible(true) или show() или аналогичную функцию, чтобы сделать его видимым.
Функции доступа:
| bool | isVisible() const |
| void | setVisible(bool visible) |
Сигнал уведомления:
| void | visibleChanged(bool arg) |
См. также show().
width : int
Это свойство содержит ширину геометрии окна.
Функции доступа:
| int | width() const |
| void | setWidth(int arg) |
Сигнал уведомления:
| void | widthChanged(int arg) |
x : int
Это свойство содержит позицию x геометрии окна.
Функции доступа:
| int | x() const |
| void | setX(int arg) |
Сигнал уведомления:
| void | xChanged(int arg) |
y : int
Это свойство содержит позицию y геометрии окна.
Функции доступа:
| int | y() const |
| void | setY(int arg) |
Сигнал уведомления:
| void | yChanged(int arg) |
Документация по функциям-членам
QWindow::QWindow(QScreen *targetScreen = Q_NULLPTR)
Создаёт окно верхнего уровня на targetScreen.
Окно не отображается до тех пор, пока не будет вызвано setVisible(true), show() или аналогичная функция.
См. также setScreen().
QWindow::QWindow(QWindow *parent)
Создаёт окно как дочернее для заданного окна parent.
Окно будет вложено в родительское окно, его координаты относительны к родительскому.
Экран наследуется от родительского.
См. также setParent().
[virtual] QWindow::~QWindow()
Уничтожает окно.
[slot] void QWindow::alert(int msec)
Вызывает отображение предупреждения на msec миллисекунд. Если msec равно 0 (по умолчанию), то предупреждение отображается до тех пор, пока окно снова не станет активным. Эта функция не оказывает никакого влияния на активное окно.
В состоянии предупреждения окно указывает на необходимость внимания, например, мигая или подпрыгивая на панели задач.
Эта функция была введена в Qt 5.1.
QSize QWindow::baseSize() const
Возвращает базовый размер окна.
См. также setBaseSize().
[slot] bool QWindow::close()
Закрывает окно.
Это закрывает окно, фактически вызывая destroy(), и потенциально завершает приложение. Возвращает true при успехе, false, если у него есть родительское окно (в этом случае должно быть закрыто окно верхнего уровня).
См. также destroy() и QGuiApplication::quitOnLastWindowClosed().
void QWindow::create()
Выделяет ресурсы платформы, связанные с окном.
В этот момент формат поверхности, заданный с помощью setFormat(), разрешается в фактическую родную поверхность. Однако окно остаётся скрытым до тех пор, пока не будет вызвано setVisible().
Обратите внимание, что обычно нет необходимости вызывать эту функцию напрямую, так как она неявно вызывается функциями show(), setVisible() и другими функциями, требующими доступа к ресурсам платформы.
Вызовите destroy(), чтобы освободить ресурсы платформы, если это необходимо.
См. также destroy().
QCursor QWindow::cursor() const
Форма курсора для данного окна.
См. также setCursor() и unsetCursor().
void QWindow::destroy()
Освобождает родные ресурсы платформы, связанные с этим окном.
См. также create().
qreal QWindow::devicePixelRatio() const
Возвращает отношение между физическими пикселями и пикселями независимыми от устройства для окна. Это значение зависит от экрана, на котором расположено окно, и может измениться при перемещении окна.
Типичные значения — 1.0 для обычных дисплеев и 2.0 для дисплеев Apple «ретина».
Примечание: Для окон, не поддерживаемых платформенным окном, то есть для окон, для которых не был вызван create(), функция возвращает значение, взятое из свойства отношения пикселей устройства для связанного QScreen.
См. также QScreen::devicePixelRatio().
[virtual protected] bool QWindow::event(QEvent *ev)
Переопределено из QObject::event().
Переопределите, чтобы обработать любой событие (ev), отправленное в окно. Верните true если событие было распознано и обработано.
Не забудьте вызвать версию базового класса, если хотите, чтобы события мыши, клавиатуры, изменения размера и т. д. обрабатывались как обычно.
[virtual protected] void QWindow::exposeEvent(QExposeEvent *ev)
Событие expose (ev) отправляется системой окон всякий раз, когда область видимости окна на экране меняется.
Приложение может начать отрисовку в окне с помощью QBackingStore и QOpenGLContext как только получит exposeEvent() такое, что isExposed() равно true.
Если окно перемещается за пределы экрана, полностью скрывается другим окном, сворачивается или аналогично, эта функция может быть вызвана, и значение isExposed() может измениться на false. В этом случае приложение должно прекратить отрисовку, поскольку оно больше не видно пользователю.
Событие изменения размера всегда отправляется перед событием expose в первый раз, когда окно отображается.
См. также isExposed().
QString QWindow::filePath() const
Имя файла, который представляет это окно.
См. также setFilePath().
[virtual protected] void QWindow::focusInEvent(QFocusEvent *ev)
Переопределите эту функцию для обработки событий focus in (ev).
События focus in отправляются, когда окно получает фокус клавиатуры.
См. также focusOutEvent().
[virtual] QObject *QWindow::focusObject() const
Возвращает QObject, который будет конечным получателем событий, связанных с фокусом, таких как события клавиатуры.
[signal] void QWindow::focusObjectChanged(QObject *object)
Этот сигнал испускается, когда конечный получатель событий, связанных с фокусом, меняется на object.
См. также focusObject().
[virtual protected] void QWindow::focusOutEvent(QFocusEvent *ev)
Переопределите этот метод для обработки событий выхода из фокуса (ev).
События выхода из фокуса отправляются, когда окно теряет фокус клавиатуры.
См. также focusInEvent().
[virtual] QSurfaceFormat QWindow::format() const
Переопределено из QSurface::format().
Возвращает фактический формат этого окна.
После создания окна эта функция вернёт фактический формат поверхности окна. Он может отличаться от запрошенного формата, если запрошенный формат не мог быть выполнен платформой. Также он может быть расширением, например, некоторые размеры буфера могут быть больше, чем запрошенные.
Примечание: В зависимости от платформы некоторые значения в этом формате поверхности могут всё ещё содержать запрошенные значения, то есть значения, которые были переданы в setFormat(). Типичные примеры — версия OpenGL, профиль и параметры. Эти значения могут не обновляться во время create(), так как они зависят от контекста, и одно окно может использоваться вместе с несколькими контекстами в течение всего его жизненного цикла. Используйте формат() контекста QOpenGLContext для запроса таких значений вместо этого.
См. также setFormat(), create(), requestedFormat() и QOpenGLContext::format().
QRect QWindow::frameGeometry() const
Возвращает геометрию окна, включая рамку окна.
Геометрия относится к virtualGeometry() экрана.
См. также geometry() и frameMargins().
QMargins QWindow::frameMargins() const
Возвращает отступы рамки окна вокруг окна.
См. также geometry() и frameGeometry().
QPoint QWindow::framePosition() const
Возвращает верхнюю левую позицию окна, включая его рамку.
Это возвращает то же значение, что и frameGeometry().topLeft().
См. также setFramePosition(), geometry() и frameGeometry().
[static] QWindow *QWindow::fromWinId(WId id)
Создаёт локальное представление окна, созданного другим процессом или с помощью нативных библиотек ниже Qt.
Учитывая дескриптор id нативного окна, этот метод создаёт объект QWindow, который может использоваться для представления окна при вызове методов, таких как setParent() и setTransientParent().
Это может быть использовано, на платформах, которые его поддерживают, для встраивания QWindow внутри нативного окна или для встраивания нативного окна внутри QWindow.
Если внешние окна не поддерживаются или встраивание нативного окна не удалось в плагине платформы, эта функция возвращает 0.
Примечание: Полученное окно QWindow не должно использоваться для манипулирования базовым нативным окном (кроме переродительства) или для наблюдения за изменениями состояния нативного окна. Любая поддержка подобных операций случайная, сильно зависит от платформы и не протестирована.
См. также setParent() и setTransientParent().
QRect QWindow::geometry() const
Возвращает геометрию окна, исключая рамку окна.
Геометрия относится к virtualGeometry() экрана.
См. также setGeometry(), frameMargins() и frameGeometry().
[slot] void QWindow::hide()
Скрывает окно.
Эквивалентно вызову setVisible(false).
См. также show() и setVisible().
[virtual protected] void QWindow::hideEvent(QHideEvent *ev)
Переопределите этот метод для обработки событий скрытия (ev).
Функция вызывается, когда окно запросило скрытие в системе окон.
QIcon QWindow::icon() const
Устанавливает значок окна в системе окон.
См. также setIcon().
bool QWindow::isActive() const
Возвращает true, если окно должно отображаться активным с точки зрения стиля.
Это верно для окна, имеющего фокус ввода, а также для окон, которые находятся в той же цепочке родитель/временный родитель, что и окно с фокусом.
Чтобы получить окно, которое в настоящее время имеет фокус, используйте QGuiApplication::focusWindow().
Примечание: Метод-получатель свойства active.
bool QWindow::isAncestorOf(const QWindow *child, AncestorMode mode = IncludeTransients) const
Возвращает true, если окно является предком данного child. Если mode равно IncludeTransients, то временные родители также считаются предками.
bool QWindow::isExposed() const
Возвращает, показано ли это окно в системе окон.
Когда окно не показано, оно отображается приложением, но ещё не отображается в системе окон, поэтому приложение должно минимизировать рендеринг и другие графические действия.
exposeEvent() отправляется каждый раз, когда это значение изменяется.
См. также exposeEvent().
bool QWindow::isModal() const
Возвращает, является ли окно модальным.
Модальное окно предотвращает получение ввода другими окнами.
См. также QWindow::modality.
bool QWindow::isTopLevel() const
Возвращает, является ли окно верхним, т.е. не имеет родительского окна.
[virtual protected] void QWindow::keyPressEvent(QKeyEvent *ev)
Переопределите этот метод для обработки событий нажатия клавиш (ev).
См. также keyReleaseEvent().
[virtual protected] void QWindow::keyReleaseEvent(QKeyEvent *ev)
Переопределите этот метод для обработки событий отпускания клавиш (ev).
См. также keyPressEvent().
[slot] void QWindow::lower()
Опускает окно в системе окон.
Запрашивает опустить окно, чтобы оно отображалось под другими окнами.
QPoint QWindow::mapFromGlobal(const QPoint &pos) const
Преобразует глобальные координаты экрана pos в координаты окна.
См. также mapToGlobal().
QPoint QWindow::mapToGlobal(const QPoint &pos) const
Преобразует координаты окна pos в глобальные координаты экрана. Например, mapToGlobal(QPoint(0,0)) даст глобальные координаты левого верхнего пикселя окна.
См. также mapFromGlobal().
QRegion QWindow::mask() const
Возвращает установленную маску окна.
Маска — это подсказка для системы окон о том, что приложение не хочет получать события мыши или касания за пределами заданной области.
См. также setMask().
QSize QWindow::maximumSize() const
Возвращает максимальный размер окна.
См. также setMaximumSize().
QSize QWindow::minimumSize() const
Возвращает минимальный размер окна.
См. также setMinimumSize().
[signal] void QWindow::modalityChanged(Qt::WindowModality modality)
Этот сигнал испускается, когда свойство Qwindow::modality изменяется на modality.
Примечание: Сигнал-уведомление для свойства modality.
[virtual protected] void QWindow::mouseDoubleClickEvent(QMouseEvent *ev)
Переопределите этот метод для обработки событий двойного щелчка мыши (ev).
См. также mousePressEvent() и QStyleHints::mouseDoubleClickInterval().
[virtual protected] void QWindow::mouseMoveEvent(QMouseEvent *ev)
Переопределите этот метод для обработки событий перемещения мыши (ev).
[virtual protected] void QWindow::mousePressEvent(QMouseEvent *ev)
Переопределите этот метод для обработки событий нажатия мыши (ev).
См. также mouseReleaseEvent().
[virtual protected] void QWindow::mouseReleaseEvent(QMouseEvent *ev)
Переопределите этот метод для обработки событий отпускания мыши (ev).
См. также mousePressEvent().
[virtual protected] void QWindow::moveEvent(QMoveEvent *ev)
Переопределите этот метод для обработки событий перемещения окна (ev).
[virtual protected] bool QWindow::nativeEvent(const QByteArray &eventType, void *message, long *result)
Переопределите этот метод для обработки событий, зависящих от платформы. Будут переданы eventType, message и result.
Это может сделать ваш application непереносимым.
Должен возвращать true только в случае обработки события.
QWindow *QWindow::parent(AncestorMode mode) const
Возвращает родительское окно, если оно есть.
Если mode равен IncludeTransients, то возвращается временный родитель, если родитель отсутствует.
Окно без родителя известно как окно верхнего уровня.
Данная функция была введена в Qt 5.9.
См. также setParent().
QWindow *QWindow::parent() const
Возвращает родительское окно, если оно есть.
Окно без родителя известно как окно верхнего уровня.
QPoint QWindow::position() const
Возвращает положение окна на рабочем столе без учета рамки окна.
См. также setPosition().
[slot] void QWindow::raise()
Приводит окно в верхний уровень.
Запрашивает поднятие окна над другими окнами.
[slot] void QWindow::requestActivate()
Запрашивает активацию окна, т.е. получение фокуса клавиатуры.
См. также isActive(), QGuiApplication::focusWindow() и QWindowsWindowFunctions::setWindowActivationBehavior().
[slot] void QWindow::requestUpdate()
Планирует событие QEvent::UpdateRequest, которое будет доставлено этому окну.
Событие доставляется синхронно с вертикальной синхронизацией отображения на платформах, где это возможно. В противном случае событие доставляется с задержкой 5 мс. Дополнительное время необходимо, чтобы цикл обработки событий немного простоял, чтобы собрать системные события, и может быть переопределено с помощью переменной окружения QT_QPA_UPDATE_IDLE_TIME.
При создании анимаций эта функция должна вызываться один раз после завершения отрисовки. Вызов этой функции несколько раз приведет к доставке только одного события в окно.
Подклассы QWindow должны переопределить event(), перехватить событие и вызвать код рендеринга приложения, а затем вызвать базовый класс.
Примечание: Переопределение метода event() в подклассе должно вызывать базовый класс, если не существует абсолютной уверенности, что событие не нужно обрабатывать базовому классу. Например, по умолчанию эта функция полагается на события QEvent::Timer. Отфильтрование их, следовательно, нарушит доставку обновлений.
Функция была введена в Qt 5.5.
QSurfaceFormat QWindow::requestedFormat() const
Возвращает запрошенный формат поверхности для этого окна.
Если запрошенный формат не поддерживается реализацией платформы, requestedFormat будет отличаться от фактического формата окна.
Это значение задано с помощью setFormat().
См. также setFormat() и format().
void QWindow::resize(const QSize &newSize)
Устанавливает размер окна (без учета рамки) в newSize
См. также size() и geometry().
void QWindow::resize(int w, int h)
Устанавливает размер окна (без учета рамки) до QSize, построенной из ширины w и высоты h
См. также size() и geometry().
[virtual protected] void QWindow::resizeEvent(QResizeEvent *ev)
Переопределите этот метод для обработки событий изменения размера (ev).
Событие изменения размера вызывается всякий раз, когда размер окна изменяется в системе окон, либо напрямую через систему окон, подтверждающую запрос setGeometry() или resize(), либо косвенно при ручном изменении размера пользователем.
QScreen *QWindow::screen() const
Возвращает экран, на котором отображается окно, или null, если такового нет.
Для дочерних окон возвращается экран соответствующего окна верхнего уровня.
См. также setScreen() и QScreen::virtualSiblings().
[signal] void QWindow::screenChanged(QScreen *screen)
Этот сигнал излучается, когда экран окна изменяется, либо явно с помощью setScreen(), либо автоматически, когда экран окна удаляется.
void QWindow::setBaseSize(const QSize &size)
Устанавливает базовый размер окна.
Базовый размер используется для вычисления правильного размера окна, если окно определяет sizeIncrement().
См. также setMinimumSize(), setMaximumSize(), setSizeIncrement() и baseSize().
void QWindow::setCursor(const QCursor &cursor)
Устанавливает форму курсора для этого окна.
Курсор мыши примет эту форму, когда будет над этим окном, если не установлен курсор переопределения. Список предопределенных объектов курсора см. здесь.
Если курсор не установлен или после вызова unsetCursor(), используется курсор родительского окна.
По умолчанию форма курсора — Qt::ArrowCursor.
Некоторые реализации оконной системы сбросят курсор, если он покинет окно, даже если мышь захвачена. Если вы хотите иметь установленный курсор для всех окон, даже когда за пределами окна, рассмотрите QGuiApplication::setOverrideCursor().
См. также cursor() и QGuiApplication::setOverrideCursor().
void QWindow::setFilePath(const QString &filePath)
Устанавливает имя файла, который представляет это окно.
Система окон может использовать filePath для отображения пути к документу, который представляет это окно, в строке заголовка.
См. также filePath().
void QWindow::setFlag(Qt::WindowType flag, bool on = true)
Устанавливает флаг окна flag в этом окне, если on равно true; в противном случае очищает флаг.
Данная функция была введена в Qt 5.9.
См. также setFlags(), flags() и type().
void QWindow::setFormat(const QSurfaceFormat &format)
Устанавливает формат поверхности окна.
Формат определяет такие свойства, как глубина цвета, альфа, размер буферов глубины и шаблона и т.д. Например, чтобы сделать фон окна прозрачным (при условии, что система окон поддерживает композицию и что другой контент в окне не делает его непрозрачным снова):
QSurfaceFormat format; format.setAlphaBufferSize(8); window.setFormat(format);
Формат поверхности будет разрешен в функции create(). Вызов этой функции после вызова create() не переразрешит формат поверхности нативной поверхности.
Если формат не задан явно через эту функцию, будет использован формат, возвращаемый QSurfaceFormat::defaultFormat(). Это означает, что при наличии нескольких окон отдельные вызовы этой функции можно заменить одним вызовом QSurfaceFormat::setDefaultFormat() перед созданием первого окна.
См. также format(), create(), destroy() и QSurfaceFormat::setDefaultFormat().
void QWindow::setFramePosition(const QPoint &point)
Устанавливает верхнюю левую позицию окна (point), включая рамку окна.
Позиция относится к virtualGeometry() экрана.
См. также framePosition(), setGeometry() и frameGeometry().
void QWindow::setGeometry(int posx, int posy, int w, int h)
Устанавливает геометрию окна, исключая рамку, в прямоугольник, построенный из posx, posy, w и h.
Геометрия относится к virtualGeometry() экрана.
См. также geometry().
void QWindow::setGeometry(const QRect &rect)
Устанавливает геометрию окна, исключая рамку, на rect.
Геометрия относится к virtualGeometry() экрана.
См. также geometry().
void QWindow::setIcon(const QIcon &icon)
Устанавливает значок окна icon в системе окон.
Значок окна может использоваться системой окон, например, для оформления окна и/или в переключателе задач.
См. также icon().
bool QWindow::setKeyboardGrabEnabled(bool grab)
Устанавливает, следует ли включить захват клавиатуры (grab).
Если возвращаемое значение — true, окно получает все события клавиатуры до тех пор, пока не будет вызван setKeyboardGrabEnabled(false); другие окна не получат никаких событий клавиатуры. События мыши не затрагиваются. Используйте setMouseGrabEnabled(), если вы хотите захватить их.
См. также setMouseGrabEnabled().
void QWindow::setMask(const QRegion ®ion)
Устанавливает маску окна.
Маска — подсказка для системы окон о том, что приложение не хочет получать события мыши или касания за пределами заданной region.
Менеджер окон может или не может отображать любые области окна, не включенные в маску, поэтому приложение отвечает за то, чтобы сделать прозрачными области, которые не являются частью маски.
Установка маски до создания окна не имеет эффекта.
См. также mask().
void QWindow::setMaximumSize(const QSize &size)
Устанавливает максимальный размер окна.
Это подсказка для менеджера окон, чтобы предотвратить изменение размера больше, чем указанный size.
См. также setMinimumSize() и maximumSize().
void QWindow::setMinimumSize(const QSize &size)
Устанавливает минимальный размер окна.
Это подсказка для менеджера окон, чтобы предотвратить изменение размера меньше, чем указанный size.
См. также setMaximumSize() и minimumSize().
bool QWindow::setMouseGrabEnabled(bool grab)
Устанавливает, следует ли включить захват мыши (grab).
Если возвращаемое значение — true, окно получает все события мыши до тех пор, пока не будет вызван setMouseGrabEnabled(false); другие окна не получат никаких событий мыши. События клавиатуры не затрагиваются. Используйте setKeyboardGrabEnabled(), если вы хотите захватить их.
См. также setKeyboardGrabEnabled().
void QWindow::setParent(QWindow *parent)
Устанавливает родительское окно parent. Это приведет к управлению системой окон обрезкой окна, поэтому оно будет обрезано до родительского окна parent.
Установка parent в 0 сделает окно верхним.
Если parent — окно, созданное с помощью fromWinId(), текущее окно будет вложено внутрь parent, если платформа это поддерживает.
См. также parent().
void QWindow::setPosition(const QPoint &pt)
Устанавливает позицию окна на рабочем столе в pt
Позиция относится к virtualGeometry() экрана.
См. также position().
void QWindow::setPosition(int posx, int posy)
Устанавливает позицию окна на рабочем столе в posx, posy
Позиция относится к virtualGeometry() экрана.
См. также position().
void QWindow::setScreen(QScreen *newScreen)
Устанавливает экран, на котором должно отображаться окно.
Если окно было создано, оно будет пересоздано на newScreen.
Примечание: Если экран является частью виртуального рабочего стола с несколькими экранами, окно не переместится автоматически на newScreen. Чтобы разместить окно относительно экрана, используйте позицию topLeft() экрана.
Эта функция работает только для верхних окон.
См. также screen() и QScreen::virtualSiblings().
void QWindow::setSizeIncrement(const QSize &size)
Устанавливает приращение размера (size) окна.
При изменении размера пользователем размер будет изменяться шагами по sizeIncrement().width() пикселям по горизонтали и sizeIncrement().height() пикселям по вертикали, с baseSize() в качестве базы.
По умолчанию это свойство содержит размер с нулевой шириной и высотой.
Система окон может не поддерживать приращения размера.
См. также sizeIncrement(), setBaseSize(), setMinimumSize() и setMaximumSize().
void QWindow::setSurfaceType(SurfaceType surfaceType)
Устанавливает surfaceType окна.
Указывает, предназначено ли окно для растрового рендеринга с QBackingStore или OpenGL-рендеринга с QOpenGLContext.
surfaceType будет использоваться при создании нативного поверхностного слоя в функции create(). Вызов этой функции после создания нативного поверхностного слоя требует вызова destroy() и create() для освобождения старого нативного поверхностного слоя и создания нового.
См. также surfaceType(), QBackingStore, QOpenGLContext, create() и destroy().
void QWindow::setTransientParent(QWindow *parent)
Устанавливает временного родителя parent
Это подсказка для менеджера окон о том, что это окно является диалоговым или всплывающим окном от имени данного окна.
Для того, чтобы по умолчанию окно центрировалось над своим временным родителем, в зависимости от менеджера окон, также может потребоваться вызвать setFlags() со соответствующим Qt::WindowType (например, Qt::Dialog).
См. также transientParent() и parent().
void QWindow::setWindowState(Qt::WindowState state)
Устанавливает состояние занятости экрана для окна.
Состояние окна указывает, отображается ли окно в системе окон как максимальное, минимальное, полноэкранное или нормальное.
Значение перечисления Qt::WindowActive не является допустимым параметром.
См. также windowState(), showNormal(), showFullScreen(), showMinimized() и showMaximized().
[slot] void QWindow::show()
Отображает окно.
Это эквивалентно вызову showFullScreen(), showMaximized() или showNormal(), в зависимости от поведения по умолчанию платформы для типа окна и флагов.
См. также showFullScreen(), showMaximized(), showNormal(), hide(), QStyleHints::showIsFullScreen() и flags().
[virtual protected] void QWindow::showEvent(QShowEvent *ev)
Переопределите этот метод для обработки событий показа (ev).
Функция вызывается, когда окно запросило отображение.
Если окно успешно отображается системой окон, за этим последует событие изменения размера и события expose.
[slot] void QWindow::showFullScreen()
Отображает окно в полноэкранном режиме.
Эквивалентно вызову setWindowState(Qt::WindowFullScreen) и затем setVisible(true).
См. также setWindowState() и setVisible().
[slot] void QWindow::showMaximized()
Отображает окно в максимальном режиме.
Эквивалентно вызову setWindowState(Qt::WindowMaximized) и затем setVisible(true).
См. также setWindowState() и setVisible().
[slot] void QWindow::showMinimized()
Отображает окно в свёрнутом виде.
Эквивалентно вызову setWindowState(Qt::WindowMinimized) и затем setVisible(true).
См. также setWindowState() и setVisible().
[slot] void QWindow::showNormal()
Отображает окно в нормальном режиме, то есть не максимализированное, не свёрнутое и не полноэкранное.
Эквивалентно вызову setWindowState(Qt::WindowNoState) и затем setVisible(true).
См. также setWindowState() и setVisible().
[virtual] QSize QWindow::size() const
Переопределено из QSurface::size().
Возвращает размер окна без учёта рамки.
См. также resize().
QSize QWindow::sizeIncrement() const
Возвращает приращение размера окна.
См. также setSizeIncrement().
[virtual] SurfaceType QWindow::surfaceType() const
Переопределено из QSurface::surfaceType().
Возвращает тип поверхности окна.
См. также setSurfaceType().
[virtual protected] void QWindow::tabletEvent(QTabletEvent *ev)
Переопределите этот метод для обработки событий на планшетном устройстве (ev).
События входа и выхода в зону действия не отправляются окнам, они доставляются экземпляру приложения.
[virtual protected] void QWindow::touchEvent(QTouchEvent *ev)
Переопределите этот метод для обработки событий касания (ev).
QWindow *QWindow::transientParent() const
Возвращает родительское окно диалога.
См. также setTransientParent() и parent().
Qt::WindowType QWindow::type() const
Возвращает тип окна.
Это возвращает часть флагов окна, которая представляет, является ли окно диалоговым, всплывающим, всплывающим, обычным окном и т.д.
См. также flags() и setFlags().
void QWindow::unsetCursor()
Восстанавливает стандартный курсор стрелки для этого окна.
[virtual protected] void QWindow::wheelEvent(QWheelEvent *ev)
Переопределите этот метод для обработки событий колеса мыши или других колесных событий (ev).
WId QWindow::winId() const
Возвращает идентификатор платформы окна.
Для платформ, где этот идентификатор может быть полезен, возвращаемое значение будет уникально представлять окно внутри соответствующего экрана.
См. также screen().
Qt::WindowState QWindow::windowState() const
состояние окна в отношении занимаемого места на экране
См. также setWindowState().
[signal] void QWindow::windowStateChanged(Qt::WindowState windowState)
Этот сигнал испускается при изменении состояния windowState, либо явным указанием с помощью setWindowState(), либо автоматически при нажатии пользователем одной из кнопок заголовка или другими способами.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qwindow.html