Spec-Zone.ru › Qt 5.12

Класс QWindow

Класс QWindow представляет окно в подлежащей системе окон. Подробнее...

Заголовок: #include <QWindow>
qmake: QT += gui
С момента: Qt 5.0
Наследует: QObject и QSurface
Наследуется от:

QPaintDeviceWindow и QVulkanWindow

  • Список всех членов, включая унаследованные
  • Устаревшие члены

Типы публичного доступа

Перечисление AncestorMode { ExcludeTransients, IncludeTransients }
Перечисление Состояние видимости { Окно, Свернуто, Развернуто, Полный экран, Автоматическое состояние видимости, Скрыто }

Свойства

  • активный : const bool
  • ориентация содержимого : Qt::ScreenOrientation
  • флаги : Qt::WindowFlags
  • высота : int
  • максимальная высота : int
  • максимальная ширина : int
  • минимальная высота : int
  • минимальная ширина : int
  • вид модальности : Qt::WindowModality
  • непрозрачность : qreal
  • заголовок : QString
  • состояние видимости : Состояние видимости
  • видимый : bool
  • ширина : int
  • x : int
  • y : int
  • 1 свойство унаследовано от QObject

Публичные функции

QWindow(QScreen *targetScreen = 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, QWindow::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(QWindow::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 setIcon(const QIcon &icon)
bool setKeyboardGrabEnabled(bool grab)
void setMask(const QRegion &region)
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(QSurface::SurfaceType surfaceType)
void установитьВременногоРодителя(QWindow *parent)
void установитьВидимость(QWindow::Visibility v)
void установитьVulkanInstance(QVulkanInstance *instance)
void установитьСостояниеОкна(Qt::WindowState state)
void установитьСостоянияОкна(Qt::WindowStates state)
QSize приращениеРазмера() const
QString название() const
QWindow * временныйРодитель() const
Qt::WindowType тип() const
void сброситьКурсор()
QWindow::Visibility видимость() const
QVulkanInstance * vulkanInstance() const
int ширина() const
WId winId() const
Qt::WindowState состояниеОкна() const
Qt::WindowStates состоянияОкна() const
int x() const
int y() const

Реализованные публичные функции

virtual QSurfaceFormat формат() const override
virtual QSize размер() const override
virtual QSurface::SurfaceType типПоверхности() const override
  • 31 публичная функция унаследованная от QObject
  • 6 публичных функций унаследованных от QSurface

Открытые слоты

void сообщение(int msec)
bool закрыть()
void скрыть()
void опустить()
void поднять()
void запроситьАктивацию()
void запроситьОбновление()
void установитьГеометрию(int posx, int posy, int w, int h)
void установитьГеометрию(const QRect &rect)
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 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)
const QMetaObject staticMetaObject
  • 9 статических публичных членов унаследованы от 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) override
  • 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() и windowStates().

Отображение

Существуют два API Qt, которые можно использовать для отрисовки содержимого в окне: QBackingStore для отрисовки с помощью QPainter и вывода содержимого в окно типа QSurface::RasterSurface, и QOpenGLContext для отрисовки с помощью OpenGL в окно типа QSurface::OpenGLSurface.

Приложение может начать отрисовку, как только isExposed() вернёт true, и может продолжать отрисовку, пока isExposed() не вернёт false. Чтобы узнать, когда isExposed() меняется, переопределите exposeEvent(). Окно всегда получит событие изменения размера перед первым событием expose.

Начальная геометрия

Если ширина и высота окна не инициализированы, окно получит разумную геометрию по умолчанию от платформенного окна. Если позиция не инициализирована, то платформенное окно позволит системе управления окнами установить позицию окна. Например, в X11 диспетчер окон обычно выполняет некоторое интеллектуальное позиционирование, чтобы избежать ситуации, когда новое окно полностью перекрывает существующие окна. Однако setGeometry() инициализирует как позицию, так и размер, поэтому, если вам нужен фиксированный размер, но автоматическая позиция, вы должны вызвать resize() или setWidth() и setHeight() вместо этого.

Документация по типам членов

enum QWindow::AncestorMode

Этот перечисление используется для управления тем, считаются ли временные родительские элементы предками.

Константа Значение Описание
QWindow::ExcludeTransients 0 Временные родительские элементы не считаются предками.
QWindow::IncludeTransients 1 Временные родительские элементы считаются предками.

enum QWindow::Visibility

Это перечисление описывает, какую часть экрана занимает или должно занимать окно.

Константа Значение Описание
QWindow::Windowed 2 Окно занимает часть экрана, но не обязательно весь экран. Это состояние будет происходить только на системах управления окнами, которые поддерживают одновременный показ нескольких окон. В этом состоянии пользователь может перемещать и изменять размер окна вручную, если это разрешено параметрами WindowFlags и поддерживается системой управления окнами.
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.

Функции доступа:

QWindow::Visibility visibility() const
void setVisibility(QWindow::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 = 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() не вызывалось, функция возвращает отношение пикселей, связанного с QScreen.

См. также QScreen::devicePixelRatio().

[override 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().

[override 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.

Если внешние окна не поддерживаются или встраивание нативного окна в плагине платформы завершилось неудачей, эта функция возвращает nullptr.

Примечание: Результирующее окно 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, QWindow::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.

END_OF_DOCUMENT_MARKER

[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(QWindow::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().

[slot] void QWindow::setGeometry(int posx, int posy, int w, int h)

Устанавливает геометрию окна, исключая рамку окна, на прямоугольник, построенный из posx, posy, w и h.

Геометрия относится к virtualGeometry() экрана.

См. также geometry().

[slot] void QWindow::setGeometry(const QRect &rect)

Устанавливает геометрию окна, исключая рамку окна, на rect.

Геометрия относится к virtualGeometry() экрана.

См. также geometry().

void QWindow::setIcon(const QIcon &icon)

Устанавливает значок окна icon в системе окон.

Значок окна может использоваться системой окон, например, для оформления окна и/или в переключателе задач.

Примечание: На macOS значок в строке заголовка окна предназначен для окон, представляющих документы, и будет отображаться только в том случае, если также установлен путь к файлу.

См. также icon() и setFilePath().

bool QWindow::setKeyboardGrabEnabled(bool grab)

Устанавливает, должен ли быть включен захват клавиатуры (grab).

Если возвращаемое значение true, окно получает все события клавиатуры до тех пор, пока не будет вызван setKeyboardGrabEnabled(false); другие окна не получают событий клавиатуры. События мыши не затрагиваются. Используйте setMouseGrabEnabled(), если вы хотите захватить их.

См. также setMouseGrabEnabled().

void QWindow::setMask(const QRegion &region)

Устанавливает маску окна.

Маска — это подсказка для системы окон, что приложение не хочет получать события мыши или сенсорного ввода за пределами заданной области 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(QSurface::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::setVulkanInstance(QVulkanInstance *instance)

Связывает это окно со специфицированным экземпляром Vulkan instance.

instance должен оставаться допустимым до тех пор, пока существует экземпляр QWindow.

См. также vulkanInstance().

void QWindow::setWindowState(Qt::WindowState state)

Устанавливает состояние окна по отношению к окнам системы

Состояние окна представляет собой то, отображается ли оно в системе окон как максимизированное, минимизированное, полноэкранное или обычное.

Значение перечисления Qt::WindowActive не является допустимым параметром.

См. также windowState(), showNormal(), showFullScreen(), showMinimized(), showMaximized() и setWindowStates().

void QWindow::setWindowStates(Qt::WindowStates state)

Устанавливает состояние окна относительно занимаемого им места на экране.

Значение state окна определяет, отображается ли окно в системе окон как максимализированное, минимизированное и/или полноэкранное.

Окно может находиться в комбинации нескольких состояний. Например, если окно одновременно минимизировано и максимализировано, оно будет отображаться минимизированным, но щелчок по пункту в строке задач восстановит его в максимализированном состоянии.

Значение перечисления Qt::WindowActive не должно устанавливаться.

Эта функция была добавлена в Qt 5.10.

См. также windowStates(), 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).

Функция вызывается, когда окно запросило видимость.

Если окно успешно отображается системой окон, за этим последуют события изменения размера и отображения.

[slot] void QWindow::showFullScreen()

Отображает окно во весь экран.

Эквивалентно вызову setWindowStates(Qt::WindowFullScreen) и затем setVisible(true).

См. также setWindowStates() и setVisible().

[slot] void QWindow::showMaximized()

Отображает окно в максимализированном режиме.

Эквивалентно вызову setWindowStates(Qt::WindowMaximized) и затем setVisible(true).

См. также setWindowStates() и setVisible().

[slot] void QWindow::showMinimized()

Отображает окно в минимизированном режиме.

Эквивалентно вызову setWindowStates(Qt::WindowMinimized) и затем setVisible(true).

См. также setWindowStates() и setVisible().

[slot] void QWindow::showNormal()

Отображает окно в нормальном режиме, то есть ни максимализированным, ни минимизированным, ни полноэкранным.

Эквивалентно вызову setWindowStates(Qt::WindowNoState) и затем setVisible(true).

См. также setWindowStates() и setVisible().

[override virtual] QSize QWindow::size() const

Переопределено из QSurface::size().

Возвращает размер окна без учета рамки окна.

См. также resize().

QSize QWindow::sizeIncrement() const

Возвращает приращение размера окна.

См. также setSizeIncrement().

[override virtual] QSurface::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()

Восстанавливает стандартный курсор стрелки для этого окна.

QVulkanInstance *QWindow::vulkanInstance() const

Возвращает связанный экземпляр Vulkan или null, если его нет.

См. также setVulkanInstance().

[virtual protected] void QWindow::wheelEvent(QWheelEvent *ev)

Переопределите этот метод для обработки событий колеса мыши или других событий колеса (ev).

WId QWindow::winId() const

Возвращает идентификатор платформы окна.

Для платформ, где этот идентификатор может быть полезен, возвращаемое значение уникально представляет окно внутри соответствующего экрана.

См. также screen().

Qt::WindowState QWindow::windowState() const

Состояние окна относительно занимаемого им места на экране.

См. также setWindowState() и windowStates().

[signal] void QWindow::windowStateChanged(Qt::WindowState windowState)

Этот сигнал испускается при изменении состояния окна windowState, как при явном его установлении с помощью setWindowStates(), так и автоматически, когда пользователь нажимает на одну из кнопок строки заголовка или иными способами.

Qt::WindowStates QWindow::windowStates() const

Состояние окна относительно занимаемого им места на экране.

Окно может находиться в комбинации нескольких состояний. Например, если окно одновременно минимизировано и максимализировано, оно будет отображаться минимизированным, но щелчок по пункту в строке задач восстановит его в максимализированном состоянии.

Эта функция была добавлена в Qt 5.10.

См. также setWindowStates().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qwindow.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API