Класс QWindow
Класс QWindow представляет окно в подлежащей системе окон. Подробнее...
| Заголовок: | #include <QWindow> |
| qmake: | QT += gui |
| С момента: | Qt 5.0 |
| Наследуется от: | QObject и QSurface |
| Наследуется в: |
Открытые типы
| перечисление | AncestorMode { ExcludeTransients, IncludeTransients } |
| перечисление | Видимость { 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() 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 | 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 | setSizeIncrement(const QSize &size) |
| void | setSurfaceType(SurfaceType surfaceType) |
| void | setTransientParent(QWindow *parent) |
| void | setVisibility(Visibility v) |
| void | setWindowState(Qt::WindowState state) |
| QSize | sizeIncrement() const |
| QString | title() const |
| QWindow * | transientParent() const |
| Qt::WindowType | type() const |
| void | unsetCursor() |
| Visibility | visibility() const |
| int | width() const |
| WId | winId() const |
| Qt::WindowState | windowState() const |
| int | x() const |
| int | y() const |
Реализованные общедоступные функции
| virtual QSurfaceFormat | format() const |
| virtual QSize | size() const |
| virtual SurfaceType | surfaceType() const |
- 31 общедоступных функций, унаследованных от QObject
- 6 общедоступных функций, унаследованных от QSurface
Общедоступные слоты
| void | alert(int msec) |
| bool | close() |
| void | hide() |
| void | lower() |
| void | raise() |
| void | requestActivate() |
| void | requestUpdate() |
| void | setHeight(int arg) |
| void | setMaximumHeight(int h) |
| void | setMaximumWidth(int w) |
| void | setMinimumHeight(int h) |
| void | setMinimumWidth(int w) |
| void | setTitle(const QString &) |
| void | setVisible(bool visible) |
| void | setWidth(int arg) |
| void | setX(int arg) |
| void | setY(int arg) |
| void | show() |
| void | showFullScreen() |
| void | showMaximized() |
| void | showMinimized() |
| void | showNormal() |
- 1 общедоступный слот, унаследованный от QObject
Сигналы
| void | activeChanged() |
| void | contentOrientationChanged(Qt::ScreenOrientation orientation) |
| void | focusObjectChanged(QObject *object) |
| void | heightChanged(int arg) |
| void | maximumHeightChanged(int arg) |
| void | maximumWidthChanged(int arg) |
| void | minimumHeightChanged(int arg) |
| void | minimumWidthChanged(int arg) |
| void | modalityChanged(Qt::WindowModality modality) |
| void | opacityChanged(qreal opacity) |
| void | screenChanged(QScreen *screen) |
| void | visibilityChanged(QWindow::Visibility visibility) |
| void | visibleChanged(bool arg) |
| void | widthChanged(int arg) |
| void | windowStateChanged(Qt::WindowState windowState) |
| void | windowTitleChanged(const QString &title) |
| void | xChanged(int arg) |
| void | yChanged(int arg) |
- 2 сигнала, унаследованные от QObject
Статические общедоступные члены
| QWindow * | fromWinId(WId id) |
- 11 статических общедоступных членов, унаследованных от QObject
Защищённые функции
| virtual void | exposeEvent(QExposeEvent *ev) |
| virtual void | focusInEvent(QFocusEvent *ev) |
| virtual void | focusOutEvent(QFocusEvent *ev) |
| virtual void | hideEvent(QHideEvent *ev) |
| virtual void | keyPressEvent(QKeyEvent *ev) |
| virtual void | keyReleaseEvent(QKeyEvent *ev) |
| virtual void | mouseDoubleClickEvent(QMouseEvent *ev) |
| virtual void | mouseMoveEvent(QMouseEvent *ev) |
| virtual void | mousePressEvent(QMouseEvent *ev) |
| virtual void | mouseReleaseEvent(QMouseEvent *ev) |
| virtual void | moveEvent(QMoveEvent *ev) |
| virtual bool | nativeEvent(const QByteArray &eventType, void *message, long *result) |
| virtual void | resizeEvent(QResizeEvent *ev) |
| virtual void | showEvent(QShowEvent *ev) |
| virtual void | tabletEvent(QTabletEvent *ev) |
| virtual void | touchEvent(QTouchEvent *ev) |
| virtual void | wheelEvent(QWheelEvent *ev) |
Реализованные защищённые функции
| virtual 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, и продолжать отображение до тех пор, пока isExposed() не вернёт false. Чтобы узнать, когда изменяется isExposed(), переопределите exposeEvent(). Окно всегда получит событие изменения размера перед первым событием expose.
Начальная геометрия
Если ширина и высота окна не инициализированы, окно получит разумную геометрию по умолчанию от платформенного окна. Если позиция не инициализирована, то платформенное окно позволит системе окон позиционировать окно. Например, в 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) |
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 «Retina».
Примечание: для окон, не поддерживаемых платформенным окном, то есть когда create() не был вызван, функция вернёт значение по умолчанию QGuiApplication::devicePixelRatio(), которая, в свою очередь, возвращает наибольшее отношение пикселей устройства экрана, найденное в системе.
См. также QScreen::devicePixelRatio() и QGuiApplication::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().
END_OF_DOCUMENT_MARKER
[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
Возвращает геометрию окна, включая его рамку.
См. также 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
Возвращает геометрию окна, исключая его рамку.
См. также 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.
Это может сделать ваш код непереносимым.
Должно возвращать true только в случае обработки события.
QWindow *QWindow::parent() const
Возвращает родительское окно, если оно есть.
Окно без родителя — это окно верхнего уровня.
См. также setParent().
QPoint QWindow::position() const
Возвращает положение окна на рабочем столе, не включая рамку окна.
См. также setPosition().
[slot] void QWindow::raise()
Приводит окно в верхний уровень на экране.
Запрос на приведение окна поверх других окон.
[slot] void QWindow::requestActivate()
Запрашивает активацию окна, т.е. получить фокус клавиатуры.
См. также isActive() и QGuiApplication::focusWindow().
[slot] void QWindow::requestUpdate()
Планирует событие QEvent::UpdateRequest, которое будет доставлено в это окно.
Событие доставляется синхронно с обновлением экрана (vsync) на платформах, где это возможно. При анимации эта функция должна вызываться один раз после завершения отрисовки.
Вызов этой функции несколько раз приведет к доставке только одного события окну.
Подклассы 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)
Этот сигнал излучается, когда экран окна screen изменяется, либо явно с помощью setScreen(), либо автоматически, когда экран окна удален.
void QWindow::setBaseSize(const QSize &size)
Устанавливает базовый размер 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::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), включая его рамку.
См. также framePosition(), setGeometry() и frameGeometry().
void QWindow::setGeometry(int posx, int posy, int w, int h)
Устанавливает геометрию окна, не включая его рамку, в прямоугольник, построенный из posx, posy, w и h.
См. также geometry().
END_OF_DOCUMENT_MARKERvoid QWindow::setGeometry(const QRect &rect)
Устанавливает геометрию окна, исключая его рамку, на rect.
См. также 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
См. также position().
void QWindow::setPosition(int posx, int posy)
Устанавливает положение окна на рабочем столе до posx, posy
См. также position().
void QWindow::setScreen(QScreen *newScreen)
Устанавливает экран, на котором должно отображаться окно.
Если окно было создано, оно будет пересоздано на newScreen.
Обратите внимание, что если экран является частью виртуального рабочего стола с несколькими экранами, окно может отображаться на любом из экранов, возвращаемых QScreen::virtualSiblings().
Эта функция работает только для верхних окон.
См. также 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().
void QWindow::show()
Отображает окно.
Это эквивалентно вызову showFullScreen(), showMaximized() или showNormal(), в зависимости от поведения по умолчанию платформы для типа окна и флагов.
См. также showFullScreen(), showMaximized(), showNormal(), hide(), QStyleHints::showIsFullScreen() и flags().
void QWindow::showEvent(QShowEvent *ev)
Переопределите этот метод для обработки событий показа (ev).
Функция вызывается, когда окно запросило стать видимым.
Если окно успешно отображается системой окон, за этим последуют события изменения размера и вывода.
void QWindow::showFullScreen()
Отображает окно в полноэкранном режиме.
Эквивалентно вызову setWindowState(Qt::WindowFullScreen) и затем setVisible(true).
См. также setWindowState() и setVisible().
void QWindow::showMaximized()
Отображает окно в максимизированном режиме.
Эквивалентно вызову setWindowState(Qt::WindowMaximized) и затем setVisible(true).
См. также setWindowState() и setVisible().
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/archives/qt-5.6/qwindow.html