Spec-Zone.ru › Qt 5.9

Класс QWindow

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

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

QAbstract3DGraph, QPaintDeviceWindow и QQuickWindow

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

Открытые типы

Перечисление AncestorMode { ExcludeTransients, IncludeTransients }
Перечисление Visibility { Windowed, Minimized, Maximized, FullScreen, AutomaticVisibility, Hidden }

Свойства

  • active : const bool
  • contentOrientation : Qt::ScreenOrientation
  • flags : Qt::WindowFlags
  • height : int
  • maximumHeight : int
  • maximumWidth : int
  • minimumHeight : int
  • minimumWidth : int
  • modality : Qt::WindowModality
  • opacity : qreal
  • title : QString
  • visibility : Visibility
  • visible : bool
  • width : int
  • x : int
  • y : int
  • 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 &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 установитьПриращениеРазмеры(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
  • 32 публичные функции, унаследованные от QObject
  • 6 публичных функций, унаследованных от QSurface

Публичные слоты

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 &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(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

Spec-Zone.ru

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