Spec-Zone.ru › Qt 5.11

Класс QWindow

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

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

QPaintDeviceWindow и QVulkanWindow

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

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

Перечисление AncestorMode { ExcludeTransients, IncludeTransients }
Перечисление СостояниеВидимости { 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 = 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
  • 34 общедоступные функции унаследованы от 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)
  • 10 статических публичных членов, унаследованных от 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

Дополнительные унаследованные члены

  • 1 публичная переменная, унаследованная от QObject
  • 2 защищённых переменных, унаследованных от 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.

Если иностранные окна не поддерживаются или встраивание нативного окна не удалось в плагине платформы, эта функция возвращает 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, 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.

[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)

Устанавливает базовый размер 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)

Устанавливает формат поверхности окна 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)

Устанавливает состояние окна относительно экрана

Состояние окна 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/archives/qt-5.11/qwindow.html

Spec-Zone.ru

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