qwindow_zh
2022-04-07 14:30:01

Class::QWindow

暂无该属性


Detailed Description

QWindow 类表示基础窗口系统中的一个窗口。 由父级提供的窗口,将变为其父级窗口的本机子级窗口。

应用程序通常会将 QWidget 或 QQuickView 用于其 UI,而不是直接使用 QWindow 。 但是,当希望把依赖关系降到最低 (或想要直接使用 OpenGL) 时,仍可以使用 QBackingStoreQOpenGLContext 直接渲染到 QWindowRaster Window ExampleOpenGL Window Example 是有关如何使用任一方法渲染到 QWindow 的有用参考示例。

资源管理

Windows 可能会使用大量内存。通常的度量是宽度乘以高度乘以深度。一个窗口可能还包括多个缓冲区,以支持双重和三次缓冲,以及深度和模板缓冲。要释放窗口的内存资源,需要调用 destroy() 函数。

内容取向

QWindow 具有 reportContentOrientationChange() ,可用于指定窗口内容相对于屏幕的布局。 内容方向只是对窗口系统的提示,提示窗口内容所处的方向。当希望保持相同的窗口大小,而是旋转内容时,尤其是在不同方向之间进行旋转动画时,这很有用。窗口系统可以使用此值来确定系统弹出窗口或对话框的布局。

可见性和窗口系统曝光

默认情况下,该窗口不可见,必须调用 setVisible (True)或 show() 或类似方法使其可见。 要再次隐藏窗口,请调用 setVisible (false)或 hide() 。 visible属性描述应用程序希望窗口进入的状态。根据基础系统的不同,屏幕上可能仍不显示可见窗口。 例如,它可以被其它不透明的窗口覆盖或移到屏幕的物理区域之外。 在具有曝光通知的窗口系统上, isExposed() 访问器描述是否应将窗口视为在屏幕上直接可见。 每当窗口的某个区域无效时(例如,由于窗口系统中的曝光度发生变化),都会调用函数 exposeEvent() 。 在不使此信息对应用程序可见的窗口系统上, isExposed() 将仅返回与 isVisible() 相同的值。

通过 visibility() 查询 QWindow::Visibility 是一种便捷的 API,结合了 visible() 和 windowStates() 的功能。

渲染

有两种 Qt API 可用于将内容渲染到窗口中: QBackingStore 用于 QPainter 渲染并将内容刷新到 QSurface::RasterSurface 类型的窗口上, QOpenGLContext 用于将 OpenGL 渲染到 QSurface::OpenGLSurface 类型的窗口。

只要 isExposed() 返回True,应用程序就可以开始渲染,并且可以继续渲染,直到 isExposed() 返回false。 要找出 isExposed() 何时更改,需要重新实现 exposeEvent() 。 在第一个曝光事件之前,窗口将始终获得一个调整大小事件。

初始几何体

如果窗口的宽度和高度未初始化,则该窗口将从平台窗口中获得合理的默认几何形状。 如果未初始化位置,则平台窗口将允许窗口系统定位窗口。 例如,在 X11 上,窗口管理器通常会进行某种智能定位,以避免新窗口完全遮盖现有窗口。 但是 setGeometry() 会同时初始化位置和大小,因此,如果想要固定大小但需要自动定位位置,则应该调用 resize()setWidth()setHeight() 进行替代。

QWindow::QWindow

[public constructor  ]

QWindow(QScreen *targetScreen) 在_targetScreen_上创建一个窗口作为顶层。

在调用 setVisible (True), show() 或类似方法之前,不会显示该窗口。

See also setScreen()

QWindow::QWindow

[public constructor  ]

QWindow(QWindow *parent) 创建一个窗口作为给定_parent_窗口的子窗口。

该窗口将被嵌入到父窗口内,其相对于父窗口的坐标。

屏幕是从父级继承的。

See also setParent()

QWindow::QWindow

[private constructor  ]

QWindow(const QWindow &)

QWindow::QWindow

[private constructor  ]

QWindow(QWindowPrivate &dd, QWindow *parent) 使用私有_dd_实现创建一个窗口作为给定_parent_窗口的子窗口。

该窗口将被嵌入到父窗口内,其相对于父窗口的坐标。

屏幕是从父级继承的。

See also setParent()

QWindow::accessibleRoot

[private plain  virtual]

QAccessibleInterface * accessibleRoot() const 返回窗口代表的对象的可访问性接口

See also QAccessible

QWindow::activeChanged

[public signal  ]

void activeChanged()

QWindow::alert

[public slot  ]

void alert(int msec) 以_msec_毫秒级显示警报。 如果_msec_为0(默认值),则警报将无限期显示,直到窗口再次变为活动状态。 此功能对活动窗口无效。

在警报状态下,该窗口指示它需要注意,例如通过闪烁或弹跳任务栏条目。

QWindow::baseSize

[public plain  ]

QSize baseSize() const 返回窗口的基本大小。

See also setBaseSize()

QWindow::close

[public slot  ]

bool close() 关闭窗口。

这将关闭窗口,有效地调用 destroy() ,并有可能退出应用程序。 成功返回True,如果有父窗口,则返回 false(在这种情况下,应关闭顶层窗口)。

See also destroy() QGuiApplication::quitOnLastWindowClosed()

QWindow::contentOrientation

[public plain  ]

Qt::ScreenOrientation contentOrientation() const

QWindow::contentOrientationChanged

[public signal  ]

void contentOrientationChanged(Qt::ScreenOrientation orientation)

QWindow::create

[public plain  ]

void create() 分配与窗口关联的平台资源。

至此,使用 setFormat() 设置的表面格式被解析为实际的本机表面。 但是,该窗口将保持隐藏状态,直到调用 setVisible() 为止。

请注意,通常不必直接调用此函数,因为 show()setVisible() 和其它需要访问平台资源的函数将隐式调用此函数。

如有必要,调用 destroy() 释放平台资源。

See also destroy()

QWindow::cursor

[public plain  ]

QCursor cursor() const

此窗口的光标形状 See also setCursor() unsetCursor()

QWindow::d_func

[private plain  ]

QWindowPrivate * d_func()

QWindow::d_func

[private plain  ]

const QWindowPrivate * d_func() const

QWindow::destroy

[public plain  ]

void destroy() 释放与此窗口关联的本机平台资源。

See also create()

QWindow::devicePixelRatio

[public plain  ]

qreal devicePixelRatio() const 返回窗口的物理像素和与设备无关的像素之间的比率。 此值取决于窗口所在的屏幕,并且在移动窗口时可能会更改。

普通值在普通显示器上为1.0,在 Apple “视网膜”显示器上为2.0。

**Note:**对于没有平台窗口支持的窗口,这意味着未调用 create() ,该函数将退回到关联的 QScreen 的设备像素比率。

See also QScreen::devicePixelRatio()

QWindow::event

[protected plain  virtual]

bool event(QEvent *ev) override 重写此方法以处理发送到窗口的任何事件(_ev_)。 如果事件已被识别并处理,则返回True

如果希望像往常一样调度鼠标事件,键事件,调整大小事件等,请记住调用基类版本。

QWindow::exposeEvent

[protected plain  virtual]

void exposeEvent(QExposeEvent *ev) 每当窗口的某个区域无效时(例如,由于窗口系统中的曝光发生更改),窗口系统都会发送曝光事件(_ev_)。

一旦获得 isExposed() 为True的应用程序,应用程序便可以开始使用 QBackingStoreQOpenGLContext 渲染到窗口中。

如果将窗口移出屏幕,使其完全被另一个窗口(图标化或类似窗口)遮盖,则可能会调用此函数,并且 isExposed() 的值可能更改为 false。 发生这种情况时,应用程序应停止其呈现,因为它不再对用户可见。

调整大小事件将始终在第一次显示窗口时在曝光事件之前发送。

See also isExposed()

QWindow::filePath

[public plain  ]

QString filePath() const

返回此窗口的文件名。 See also setFilePath()

QWindow::flags

[public plain  ]

Qt::WindowFlags flags() const See also setFlags()

QWindow::focusInEvent

[protected plain  virtual]

void focusInEvent(QFocusEvent *ev) 重写此事件处理焦点进入事件(_ev_)。

当窗口获得键盘焦点时,将发送焦点事件。

See also focusOutEvent()

QWindow::focusObject

[public plain  virtual]

QObject * focusObject() const 返回 QObject ,它将成为与焦点相关的事件(例如键盘事件)的最终接收者。

QWindow::focusObjectChanged

[public signal  ]

void focusObjectChanged(QObject *object) 当与焦点相关事件的最终接收者更改到_object_时,将发出此信号。

See also focusObject()

QWindow::focusOutEvent

[protected plain  virtual]

void focusOutEvent(QFocusEvent *ev) 重写此方法以处理焦点离开事件(_ev_)。

当窗口失去键盘焦点时,发送焦点离开事件。

See also focusInEvent()

QWindow::format

[public plain  virtual]

QSurfaceFormat format() const override 返回此窗口的实际格式。

创建窗口后,此函数将返回窗口的实际表面格式。 如果平台无法满足请求的格式,则它可能与请求的格式不同。 它也可能是一个超集,例如某些缓冲区的大小可能大于请求的大小。

**Note:**根据平台的不同,此表面格式的某些值可能仍包含所请求的值,即已传递给 setFormat() 的值。 典型示例是 OpenGL 版本,配置文件和选项。 这些可能不会在 create() 期间更新,因为它们是特定于上下文的,并且单个窗口可以在其生命周期内与多个上下文一起使用。 改用查询此类值。

See also setFormat() create() requestedFormat() QOpenGLContext::format()

QWindow::frameGeometry

[public plain  ]

QRect frameGeometry() const 返回窗口的几何形状,包括其窗口框架的大小。

几何图形与其屏幕的 virtualGeometry() 有关。

See also geometry() frameMargins()

QWindow::frameMargins

[public plain  ]

QMargins frameMargins() const 返回窗口周围的窗口框架边距。

See also geometry() frameGeometry()

QWindow::framePosition

[public plain  ]

QPoint framePosition() const 返回窗口的左上位置,包括其窗口框架。

这将返回与 frameGeometry() .topLeft() 相同的值。

See also setFramePosition() geometry() frameGeometry()

QWindow::fromWinId

[public plain static ]

QWindow * fromWinId(WId id) 由另一个进程创建或通过使用 Qt 下的本机库创建的本地窗口。

给定本机窗口的句柄_id_,此方法将创建一个 QWindow 对象,当调用诸如 setParent() 和其它方法时,该对象可用于表示窗口。

在支持它的平台上,可以将 QWindow 嵌入本机窗口中,或将本机窗口嵌入 QWindow 中。

如果不支持外部窗口或在平台插件中嵌入本机窗口失败,则此函数返回nullptr

**Note:**不应将生成的 QWindow 用于操纵基础本机窗口(除了重新设置父指针外)或观察本机窗口的状态变化。 对此类操作的任何支持都是偶然的,高度依赖平台且未经测试。

See also setParent()

QWindow::geometry

[public plain  ]

QRect geometry() const 返回窗口的几何形状,不包括窗口框架的大小。

几何图形与其屏幕的 virtualGeometry() 有关。

See also setGeometry() frameMargins() frameGeometry()

QWindow::handle

[private plain  ]

QPlatformWindow * handle() const 返回与该窗口对应的平台窗口。

QWindow::height

[public plain  ]

int height() const See also setHeight()

QWindow::heightChanged

[public signal  ]

void heightChanged(int arg)

QWindow::hide

[public slot  ]

void hide() 隐藏窗口。

等同于调用 setVisible (false)。

See also show() setVisible()

QWindow::hideEvent

[protected plain  virtual]

void hideEvent(QHideEvent *ev) 重写此方法以处理隐藏事件(_ev_)。

当要求将窗口隐藏在窗口系统中时,将调用该函数。

QWindow::icon

[public plain  ]

QIcon icon() const

返回窗口系统中的窗口图标 See also setIcon()

QWindow::isActive

[public plain  ]

bool isActive() const 如果从样式角度看该窗口处于活动状态,则返回True

对于具有输入焦点的窗口以及与焦点窗口在同一父/瞬时父链中的窗口,就是这种情况。

要获取当前具有焦点的窗口,请使用 QGuiApplication::focusWindow()

QWindow::isAncestorOf

[public plain  ]

bool isAncestorOf(const QWindow *child, QWindow::AncestorMode mode) const 如果窗口是给定_child_的祖先,则返回True。 如果_mode_为 IncludeTransients ,则瞬态父指针也被视为祖先。

QWindow::isExposed

[public plain  ]

bool isExposed() const 返回此窗口是否在窗口系统中曝光。

当窗口未曝光时,应用程序将显示该窗口,但仍未在窗口系统中显示该窗口,因此应用程序应尽量减少渲染和其它图形活动。

每次此值更改时,都会发送一个 exposeEvent()

See also exposeEvent()

QWindow::isModal

[public plain  ]

bool isModal() const 返回窗口是否为模态窗口。

模态窗口可防止其它窗口获取任何输入。

See also QWindow::modality

QWindow::isTopLevel

[public plain  ]

bool isTopLevel() const 返回该窗口是否为顶级窗口,即没有父窗口。

QWindow::isVisible

[public plain  ]

bool isVisible() const

QWindow::keyPressEvent

[protected plain  virtual]

void keyPressEvent(QKeyEvent *ev) 重写此事件以处理按键按下事件(_ev_)。

See also keyReleaseEvent()

QWindow::keyReleaseEvent

[protected plain  virtual]

void keyReleaseEvent(QKeyEvent *ev) 重写此事件以处理按键释放事件(_ev_)。

See also keyPressEvent()

QWindow::lower

[public slot  ]

void lower() 降低窗口堆叠层次。

请求将窗口降低到其它窗口下方。

QWindow::mapFromGlobal

[public plain  ]

QPoint mapFromGlobal(const QPoint &pos) const 将全局屏幕坐标_pos_转换为窗口坐标。

See also mapToGlobal()

QWindow::mapToGlobal

[public plain  ]

QPoint mapToGlobal(const QPoint &pos) const 将窗口坐标_pos_转换为全局屏幕坐标。 例如,mapToGlobal(QPoint(0,0))将给出窗口左上角像素的全局坐标。

See also mapFromGlobal()

QWindow::mask

[public plain  ]

QRegion mask() const 返回在窗口上设置的蒙版。

蒙版是对窗口系统的提示,表明应用程序不希望在给定区域之外接收鼠标或触摸输入。

See also setMask()

QWindow::maximumHeight

[public plain  ]

int maximumHeight() const See also setMaximumHeight()

QWindow::maximumHeightChanged

[public signal  ]

void maximumHeightChanged(int arg)

QWindow::maximumSize

[public plain  ]

QSize maximumSize() const 返回窗口的最大大小。

See also setMaximumSize()

QWindow::maximumWidth

[public plain  ]

int maximumWidth() const See also setMaximumWidth()

QWindow::maximumWidthChanged

[public signal  ]

void maximumWidthChanged(int arg)

QWindow::metaObject

[private plain  virtual]

const QMetaObject * metaObject() const override

QWindow::minimumHeight

[public plain  ]

int minimumHeight() const See also setMinimumHeight()

QWindow::minimumHeightChanged

[public signal  ]

void minimumHeightChanged(int arg)

QWindow::minimumSize

[public plain  ]

QSize minimumSize() const 返回窗口的最小大小。

See also setMinimumSize()

QWindow::minimumWidth

[public plain  ]

int minimumWidth() const See also setMinimumWidth()

QWindow::minimumWidthChanged

[public signal  ]

void minimumWidthChanged(int arg)

QWindow::modality

[public plain  ]

Qt::WindowModality modality() const See also setModality()

QWindow::modalityChanged

[public signal  ]

void modalityChanged(Qt::WindowModality modality) 当 Qwindow::modality 属性更改为_modality_时,将发出此信号。

QWindow::mouseDoubleClickEvent

[protected plain  virtual]

void mouseDoubleClickEvent(QMouseEvent *ev) 重写此事件以处理双击事件(_ev_)。

See also mousePressEvent() QStyleHints::mouseDoubleClickInterval()

QWindow::mouseMoveEvent

[protected plain  virtual]

void mouseMoveEvent(QMouseEvent *ev) 重写此事件以处理鼠标移动事件(_ev_)。

QWindow::mousePressEvent

[protected plain  virtual]

void mousePressEvent(QMouseEvent *ev) 重写此事件以处理鼠标按下事件(_ev_)。

See also mouseReleaseEvent()

QWindow::mouseReleaseEvent

[protected plain  virtual]

void mouseReleaseEvent(QMouseEvent *ev) 重写此事件以处理鼠标释放事件(_ev_)。

See also mousePressEvent()

QWindow::moveEvent

[protected plain  virtual]

void moveEvent(QMoveEvent *ev) 重写此事件以处理窗口移动事件(_ev_)。

QWindow::nativeEvent

[protected plain  virtual]

bool nativeEvent(const QByteArray &eventType, void *message, long *result) 重写此事件以处理处理依赖于平台的事件。将会得到_eventType_,_message_和_result_。

这可能会使应用程序不可移植。

仅当处理了事件后,才应返回 True。

QWindow::opacity

[public plain  ]

qreal opacity() const See also setOpacity()

QWindow::opacityChanged

[public signal  ]

void opacityChanged(qreal opacity)

QWindow::operator=

[private copy-assign  ]

QWindow & operator=(const QWindow &)

QWindow::parent

[public plain  ]

QWindow * parent(QWindow::AncestorMode mode) const 返回父窗口(如果有)。

如果_mode_为 IncludeTransients ,如果没有父指针,则返回瞬态父指针。

没有父窗口的窗口称为顶层窗口。

See also setParent()

QWindow::parent

[public plain  ]

QWindow * parent() const 返回父窗口(如果有)。

没有父窗口的窗口称为顶层窗口。

QWindow::position

[public plain  ]

QPoint position() const

返回窗口在桌面上的位置,不包括任何窗口框架 See also setPosition()

QWindow::qt_metacall

[private plain  virtual]

int qt_metacall(QMetaObject::Call , int , void **) override

QWindow::qt_metacast

[private plain  virtual]

void * qt_metacast(const char *) override

QWindow::qt_static_metacall

[private plain static ]

void qt_static_metacall(QObject *, QMetaObject::Call , int , void **)

QWindow::raise

[public slot  ]

void raise() 在视窗系统中显示窗口在最上面。

请求将窗口提升为显示在其它窗口上方。

QWindow::reportContentOrientationChange

[public plain  ]

void reportContentOrientationChange(Qt::ScreenOrientation orientation)

QWindow::requestActivate

[public slot  ]

void requestActivate() 请求激活窗口,即接收键盘焦点。

See also isActive() QGuiApplication::focusWindow() QWindowsWindowFunctions::setWindowActivationBehavior()

QWindow::requestUpdate

[public slot  ]

void requestUpdate() 安排要发送到此窗口的 QEvent::UpdateRequest 事件。

在可能的情况下,该事件与显示 vsync 同步交付。 否则,将在5ms的延迟后传递事件。 那里有额外的时间,使事件循环有一点空闲时间来收集系统事件,并且可以使用 QT_QPA_UPDATE_IDLE_TIME 环境变量来覆盖。

驱动动画时,应在绘制完成后调用此函数一次。 多次调用此函数将导致单个事件传递到窗口。

QWindow 的子类应重新实现 event() ,拦截该事件并调用应用程序的呈现代码,然后调用基类实现。

**Note:**除非绝对确定事件不需要由基类处理,否则子类对 event() 的重新实现必须调用基类实现。 例如,此功能的默认实现依赖于 QEvent::Timer 事件。 因此,将它们过滤掉会中断更新事件的传递。

QWindow::requestedFormat

[public plain  ]

QSurfaceFormat requestedFormat() const 返回此窗口的请求表面格式。

如果平台实现不支持所请求的格式,则该格式将与实际的窗口格式不同。

这是使用 setFormat() 设置的值。

See also setFormat() format()

QWindow::resize

[public plain  ]

void resize(const QSize &newSize)

将窗口的大小(不包括任何窗口框架)设置为_newSize_ See also size() geometry()

QWindow::resize

[public plain  ]

void resize(int w, int h) 将窗口的大小(不包括任何窗口框架)设置为由宽度_w_和高度_h_构造的 QSize

有关交互式调整窗口大小的信息,请参见 startSystemResize()

See also size() geometry()

QWindow::resizeEvent

[protected plain  virtual]

void resizeEvent(QResizeEvent *ev) 重写此事件以处理调整大小事件(_ev_)。

每当在窗口系统中调整窗口大小时都会调用 resize 事件,可以直接通过窗口系统确认 setGeometry()resize() 请求,或者用户通过手动调整窗口大小来间接地调整窗口大小。

QWindow::screen

[public plain  ]

QScreen * screen() const 返回窗口对应的屏幕;如果没有,则返回 null。

对于子窗口,这将返回相应顶级窗口对应的屏幕。

See also setScreen() QScreen::virtualSiblings()

QWindow::screenChanged

[public signal  ]

void screenChanged(QScreen *screen) 当窗口的_screen_改变时,通过用 setScreen() 进行显式设置,或者在删除窗口的屏幕时,自动发出该信号。

QWindow::setBaseSize

[public plain  ]

void setBaseSize(const QSize &size) 设置窗口的基础_size_。

如果窗口定义了 sizeIncrement() ,则基本大小通常用来计算适当的窗口大小。

See also setMinimumSize() setMaximumSize() setSizeIncrement() baseSize()

QWindow::setCursor

[public plain  ]

void setCursor(const QCursor &cursor)

设置此窗口的光标形状 鼠标_cursor_在该窗口上方时将采用此形状,除非设置了替代光标。 有关一系列有用形状的信息,请参见 Qt::CursorShape

如果未设置游标,或者在调用 unsetCursor() 之后,将使用父窗口的光标。

默认情况下,光标具有 Qt::ArrowCursor 形状。

即使鼠标被获取,某些底层的窗口实现也会在光标离开窗口时重置游标。如果要为所有窗口设置光标,即使在窗口之外,可以考虑 QGuiApplication::setOverrideCursor()

See also cursor() QGuiApplication::setOverrideCursor()

QWindow::setFilePath

[public plain  ]

void setFilePath(const QString &filePath)

设置此窗口代表的文件路径。 窗口系统可能使用_filePath_来显示此窗口在平铺栏中表示的文档路径。

See also filePath()

QWindow::setFlag

[public plain  ]

void setFlag(Qt::WindowType flag, bool on) 如果_on_为 True,则在此窗口上设置窗口标志_flag_;否则清除标志。

See also setFlags() flags() type()

QWindow::setFlags

[public plain  ]

void setFlags(Qt::WindowFlags flags) See also flags()

QWindow::setFormat

[public plain  ]

void setFormat(const QSurfaceFormat &format) 设置窗口的表面_format_格式。

该格式确定诸如颜色深度,alpha,深度和模板缓冲区大小等属性。例如,为窗口提供透明的背景(前提是窗口系统支持合成,并且前提是窗口中的其它内容不再构成不透明属性):

QSurfaceFormat format;
format.setAlphaBufferSize(8);
window.setFormat(format);

表面格式将在 create() 函数中解析。在调用 create() 之后调用此函数将不会重新解析本机表面的表面格式。

如果未通过此函数显式设置格式,则将使用 QSurfaceFormat::defaultFormat() 返回的格式。 这意味着当有多个窗口时,在创建第一个窗口之前,可以通过对 QSurfaceFormat::setDefaultFormat() 的单个调用来替换对此函数的单个调用。

See also format() create() destroy() QSurfaceFormat::setDefaultFormat()

QWindow::setFramePosition

[public plain  ]

void setFramePosition(const QPoint &point) 设置窗口(_point_)的左上位置,包括其窗口框架。

该位置与其屏幕的 virtualGeometry() 有关。

See also framePosition() setGeometry() frameGeometry()

QWindow::setGeometry

[public slot  ]

void setGeometry(int posx, int posy, int w, int h) 将窗口的几何形状(不包括窗口框架)设置为由_posx_,_posy_,_w_和_h_构成的矩形。

几何图形与其屏幕的 virtualGeometry() 有关。

See also geometry()

QWindow::setGeometry

[public slot  ]

void setGeometry(const QRect &rect)

将窗口的几何形状(不包括窗口框架)设置为_rect_。 几何图形与其屏幕的 virtualGeometry() 有关。

See also geometry()

QWindow::setHeight

[public slot  ]

void setHeight(int arg) See also height()

QWindow::setIcon

[public plain  ]

void setIcon(const QIcon &icon)

在窗口系统中设置窗口的_icon_ 窗口系统可能会使用窗口图标来装饰窗口,和/或在任务切换器中使用该图标。

**Note:**在 macOS 上,窗口标题栏图标用于表示文档的窗口,并且仅当还设置了文件路径时才会显示。

See also icon() setFilePath()

QWindow::setKeyboardGrabEnabled

[public plain  ]

bool setKeyboardGrabEnabled(bool grab) 设置是否应启用键盘抓取(_grab_)。

如果返回值为 True,则窗口将接收所有按键事件,直到调用(false);其它窗口不会得到按键事件。 鼠标事件不受影响。 如果要抓取,请使用 setMouseGrabEnabled()

See also setMouseGrabEnabled()

QWindow::setMask

[public plain  ]

void setMask(const QRegion &region) 设置窗口的遮罩。

遮罩是对窗口系统的提示,表明应用程序不希望在给定_region_之外接收鼠标或触摸输入。

窗口管理器可能会或可能不会选择显示未包含在遮罩中窗口的任何区域,因此应用程序有责任清除透明区域,它不是遮罩的一部分。

See also mask()

QWindow::setMaximumHeight

[public slot  ]

void setMaximumHeight(int h) See also maximumHeight()

QWindow::setMaximumSize

[public plain  ]

void setMaximumSize(const QSize &size) 设置窗口的最大大小。

这是对窗口管理器的提示,以防止调整大小到指定_size_以上。

See also setMinimumSize() maximumSize()

QWindow::setMaximumWidth

[public slot  ]

void setMaximumWidth(int w) See also maximumWidth()

QWindow::setMinimumHeight

[public slot  ]

void setMinimumHeight(int h) See also minimumHeight()

QWindow::setMinimumSize

[public plain  ]

void setMinimumSize(const QSize &size) 设置窗口的最小大小。

这是对窗口管理器的提示,以防止调整大小到指定_size_以下。

See also setMaximumSize() minimumSize()

QWindow::setMinimumWidth

[public slot  ]

void setMinimumWidth(int w) See also minimumWidth()

QWindow::setModality

[public plain  ]

void setModality(Qt::WindowModality modality) See also modality()

QWindow::setMouseGrabEnabled

[public plain  ]

bool setMouseGrabEnabled(bool grab) 设置是否应启用鼠标抓取(_grab_)。

如果返回值为 True,则窗口将接收所有鼠标事件,直到调用(false); 其它窗口不会获得鼠标事件。 键盘事件不受影响。 如果要获取键盘事件,请使用 setKeyboardGrabEnabled()

See also setKeyboardGrabEnabled()

QWindow::setOpacity

[public plain  ]

void setOpacity(qreal level) See also opacity()

QWindow::setParent

[public plain  ]

void setParent(QWindow *parent) 设置_parent_窗口。 这将导致窗口系统管理窗口的剪辑,因此它将被剪辑到_parent_窗口。

将_parent_设置为nullptr将使该窗口成为顶级窗口。

如果_parent_窗口是由 fromWinId() 创建的窗口,如果平台支持的话则当前窗口将被嵌入到_parent_窗口中。

See also parent()

QWindow::setPosition

[public plain  ]

void setPosition(const QPoint &pt)

将窗口在桌面上的位置设置为_pt_ 该位置与其屏幕的 virtualGeometry() 有关。

有关交互式移动窗口的信息,请参见 startSystemMove() 。 有关交互式调整窗口大小的信息,请参见 startSystemResize()

See also position() startSystemMove()

QWindow::setPosition

[public plain  ]

void setPosition(int posx, int posy)

将窗口在桌面上的位置设置为_posx_,posy 该位置与其屏幕的 virtualGeometry() 有关。

See also position()

QWindow::setScreen

[public plain  ]

void setScreen(QScreen *newScreen) 设置窗口显示到应该显示的屏幕。

如果已创建窗口,它将在_newScreen_上重新创建。

**Note:**如果该屏幕是多个屏幕虚拟桌面的一部分,则该窗口不会自动移动到_newScreen_。要将窗口相对于屏幕放置,请使用屏幕的 topLeft() 位置。

此功能仅适用于顶层窗口。

See also screen() QScreen::virtualSiblings()

QWindow::setSizeIncrement

[public plain  ]

void setSizeIncrement(const QSize &size) 设置窗口的大小增量(_size_)。

当用户调整窗口大小时,其大小将以 baseSize() 为基础,以水平 sizeIncrement() . width() 像素,垂直以 sizeIncrement() . height() 像素的步长移动。

默认情况下,此属性包含一个宽度和高度为零的大小。

窗口系统可能不支持尺寸增加。

See also sizeIncrement() setBaseSize() setMinimumSize() setMaximumSize()

QWindow::setSurfaceType

[public plain  ]

void setSurfaceType(QSurface::SurfaceType surfaceType) 设置窗口的_surfaceType_。

指定该窗口是用于使用 QBackingStore 进行栅格渲染还是用于使用 QOpenGLContext 进行 OpenGL 渲染。

当在 create() 函数中创建本机表面时,将使用 surfaceType 。 在创建本机表面后调用此函数需要调用 destroy()create() 来释放旧的本机表面并创建一个新的本机表面。

See also surfaceType() QBackingStore QOpenGLContext create() destroy()

QWindow::setTitle

[public slot  ]

void setTitle(const QString &) See also title()

QWindow::setTransientParent

[private plain  ]

void setTransientParent(QWindow *parent)

QWindow::setVisibility

[public plain  ]

void setVisibility(QWindow::Visibility v) See also visibility()

QWindow::setVisible

[public slot  ]

void setVisible(bool visible) See also isVisible()

QWindow::setVulkanInstance

[public plain  ]

void setVulkanInstance(QVulkanInstance *instance) 将此窗口与指定的 Vulkan _instance_相关联。

只要此 QWindow 实例存在,_instance_就必须保持有效。

See also vulkanInstance()

QWindow::setWidth

[public slot  ]

void setWidth(int arg) See also width()

QWindow::setWindowState

[public plain  ]

void setWindowState(Qt::WindowState state)

设置窗口的屏幕占用状态 窗口_state_表示窗口在窗口系统中是以最大化,最小化,全屏显示还是正常显示。

枚举值 Qt::WindowActive 不是可接受的参数。

See also windowState() showNormal() showFullScreen() showMinimized() showMaximized() setWindowStates()

QWindow::setWindowStates

[public plain  ]

void setWindowStates(Qt::WindowStates state)

设置窗口的屏幕占用状态 窗口_state_表示窗口在窗口系统中是否显示为最大化,最小化和/或全屏显示。

该窗口可以处于几种状态的组合。 例如,如果窗口既最小化又最大化,则该窗口将显示为最小化,但是单击任务栏条目将其还原为最大化状态。

枚举值 Qt::WindowActive 不应设置。

See also windowStates() showNormal() showFullScreen() showMinimized() showMaximized()

QWindow::setX

[public slot  ]

void setX(int arg) See also x()

QWindow::setY

[public slot  ]

void setY(int arg) See also y()

QWindow::show

[public slot  ]

void show() 显示窗口。

这等效于调用 showFullScreen()showMaximized()showNormal() ,具体取决于平台针对窗口类型和标志的默认行为。

See also showFullScreen() showMaximized() showNormal() hide() QStyleHints::showIsFullScreen() flags()

QWindow::showEvent

[protected plain  virtual]

void showEvent(QShowEvent *ev) 重写此方法以处理显示事件(_ev_)

当窗口请求变得可见时,将调用该函数。

如果窗口系统成功显示了该窗口,则将紧随其后的是调整大小和曝光事件。

QWindow::showFullScreen

[public slot  ]

void showFullScreen() 以全屏显示窗口。

等效于调用 setWindowStates ( Qt::WindowFullScreen ),然后调用 setVisible (True)。

See also setWindowStates() setVisible()

QWindow::showMaximized

[public slot  ]

void showMaximized() 将窗口显示为最大化。

等效于调用 setWindowStates ( Qt::WindowMaximized ),然后调用 setVisible (True)。

See also setWindowStates() setVisible()

QWindow::showMinimized

[public slot  ]

void showMinimized() 将窗口显示为最小化。

等效于调用 setWindowStates ( Qt::WindowMinimized ),然后调用 setVisible (True)。

See also setWindowStates() setVisible()

QWindow::showNormal

[public slot  ]

void showNormal() 正常显示窗口,即最大化,最小化或全屏显示。

等效于调用 setWindowStates ( Qt::WindowNoState ),然后调用 setVisible (True)。

See also setWindowStates() setVisible()

QWindow::size

[public plain  virtual]

QSize size() const override

返回窗口框架的大小,不包括任何窗口框架 See also resize()

QWindow::sizeIncrement

[public plain  ]

QSize sizeIncrement() const 返回窗口的大小增量。

See also setSizeIncrement()

QWindow::startSystemMove

[public slot  ]

bool startSystemMove()

开始特定于系统的移动操作 调用此命令将在支持该窗口的平台上在窗口上启动交互式移动操作。 实际行为可能会因平台而异。 通常,它将使窗口跟随鼠标光标,直到释放鼠标按钮。

在支持它的平台上,这种移动窗口的方法比setPosition更为可取,因为它允许移动窗口具有更自然的外观,例如: 让窗口管理器将此窗口与其它窗口对齐,或者在拖动到屏幕边缘时通过动画进行特殊的平铺或调整大小行为。 此外,在某些平台上,例如 Wayland,不支持setPosition,因此这是应用程序影响其位置的唯一方法。

如果系统支持该操作,则返回 True。

QWindow::startSystemResize

[public slot  ]

bool startSystemResize(Qt::Edges edges)

开始特定于系统的缩放操作 调用此选项将由支持它的平台在窗口上启动交互式调整大小的操作。 实际行为可能会因平台而异。 通常,它将使窗口调整大小,使其边缘跟随鼠标光标。

在支持此功能的平台上,这种调整窗口大小的方法优于setGeometry,因为它允许调整窗口大小更自然的外观,例如: 让窗口管理器将此窗口与其它窗口对齐,或者在拖动到屏幕边缘时通过动画进行特殊的调整大小行为。

_edges_应该是单个边,或者是两个相邻边(一个角)。不允许使用其它值。

如果系统支持该操作,则返回 True。

QWindow::surfaceHandle

[private plain  virtual]

QPlatformSurface * surfaceHandle() const override 返回与窗口相对应的平台表面。

QWindow::surfaceType

[public plain  virtual]

QSurface::SurfaceType surfaceType() const override 返回窗口的表面类型。

See also setSurfaceType()

QWindow::tabletEvent

[protected plain  virtual]

void tabletEvent(QTabletEvent *ev) 重写此方法以处理平板电脑的按下,移动和释放事件(ev)。

接近进入和离开事件不会发送到窗口,它们会传递到应用程序实例。

QWindow::title

[public plain  ]

QString title() const See also setTitle()

QWindow::touchEvent

[protected plain  virtual]

void touchEvent(QTouchEvent *ev) 重写此方法以处理触摸事件(ev)。

QWindow::transientParent

[private plain  ]

QWindow * transientParent() const

QWindow::transientParentChanged

[private signal  ]

void transientParentChanged(QWindow *transientParent)

QWindow::type

[public plain  ]

Qt::WindowType type() const 返回窗口的类型。

这将返回代表窗口是否为对话框,工具提示,弹出窗口,常规窗口等窗口标志的一部分。

See also flags() setFlags()

QWindow::unsetCursor

[public plain  ]

void unsetCursor()

恢复此窗口的默认箭头光标。

QWindow::visibility

[public plain  ]

QWindow::Visibility visibility() const See also setVisibility()

QWindow::visibilityChanged

[public signal  ]

void visibilityChanged(QWindow::Visibility visibility)

QWindow::visibleChanged

[public signal  ]

void visibleChanged(bool arg)

QWindow::vulkanInstance

[public plain  ]

QVulkanInstance * vulkanInstance() const 返回关联的 Vulkan 实例(如果已设置),否则返回nullptr

See also setVulkanInstance()

QWindow::wheelEvent

[protected plain  virtual]

void wheelEvent(QWheelEvent *ev) 重写此方法以处理鼠标滚轮或者其它滚轮事件(ev)

QWindow::width

[public plain  ]

int width() const See also setWidth()

QWindow::widthChanged

[public signal  ]

void widthChanged(int arg)

QWindow::winId

[public plain  ]

WId winId() const 返回窗口的平台 ID。

对于该 ID 可能有用的平台,返回的值将唯一表示相应屏幕内的窗口。

See also screen()

QWindow::windowState

[public plain  ]

Qt::WindowState windowState() const

窗口的屏幕占用状态 See also setWindowState() windowStates()

QWindow::windowStateChanged

[public signal  ]

void windowStateChanged(Qt::WindowState windowState) 当_windowState_更改时(通过使用 setWindowStates() 显式设置),或者在用户单击标题栏按钮之一或通过其它方式自动更改时,将发出此信号。

QWindow::windowStates

[public plain  ]

Qt::WindowStates windowStates() const

窗口的屏幕占用状态 该窗口可以处于几种状态的组合。 例如,如果窗口既最小化又最大化,则该窗口将显示为最小化,但是单击任务栏条目将其还原为最大化状态。

See also setWindowStates()

QWindow::windowTitleChanged

[public signal  ]

void windowTitleChanged(const QString &title)

QWindow::x

[public plain  ]

int x() const See also setX()

QWindow::xChanged

[public signal  ]

void xChanged(int arg)

QWindow::y

[public plain  ]

int y() const See also setY()

QWindow::yChanged

[public signal  ]

void yChanged(int arg)

QWindow::~QWindow

[public destructor  virtual]

~QWindow() 销毁窗口。 此枚举用于控制是否应将临时父母视为祖先。

QWindow::ExcludeTransientsExcludeTransients

Constant Description
QWindow::ExcludeTransients 暂时的父母不被视为祖先。
QWindow::IncludeTransientsIncludeTransients
Constant Description
:------- :-----
QWindow::IncludeTransients 暂时的父母被认为是祖先。

该枚举描述了窗口在屏幕的哪个部分占据或应该占据。

QWindow::WindowedWindowed

Constant Description
QWindow::Windowed 窗口占据了屏幕的一部分,但不一定占据整个屏幕。 此状态仅在支持同时显示多个窗口的窗口系统上发生。 在这种状态下,如果 WindowFlags 允许并且窗口系统支持,则用户可以手动移动窗口并调整窗口大小。
QWindow::MinimizedMinimized
Constant Description
:------- :-----
QWindow::Minimized 根据窗口系统处理最小化窗口的方式,窗口将缩小为任务栏,停靠栏,任务列表或桌面上的条目或图标。
QWindow::MaximizedMaximized
Constant Description
:------- :-----
QWindow::Maximized 该窗口占据整个屏幕,并且标题栏仍然可见。 在大多数窗口系统上,这是通过单击工具栏上的最大化按钮获得的状态。
QWindow::FullScreenFullScreen
Constant Description
:------- :-----
QWindow::FullScreen 该窗口占据了整个屏幕,无法调整大小,并且没有标题栏。 在某些不支持同时显示多个窗口的平台上,这可能是不隐藏窗口时的通常可见性。
QWindow::AutomaticVisibilityAutomaticVisibility
Constant Description
:------- :-----
QWindow::AutomaticVisibility 这意味着为窗口提供默认的可见状态,根据平台的不同,该状态可能是全屏显示或窗口显示。可以将其作为 setVisibility 的参数来提供,但永远不会从可见性访问器中读取。
QWindow::HiddenHidden
Constant Description
:------- :-----
QWindow::Hidden 该窗口以任何方式都不可见,但是它可能会记住潜在的可见性,可以通过设置来恢复该可见性。

此属性保存窗口的活动状态。 See also requestActivate() 此属性保存窗口内容的方向。 这是给窗口管理器的提示,以防它需要显示其它内容,如弹出窗口,对话框,状态栏或与窗口相关的类似内容。

推荐的方向是 QScreen::orientation() ,但是应用程序不必支持所有可能的方向,因此可以选择忽略当前屏幕方向。

窗口和内容方向之间的差异决定了旋转内容的程度。 QScreen::angleBetween()QScreen::transformBetween()QScreen::mapBetween() 可用于计算必要的变换。

默认值为 Qt::PrimaryOrientation

此属性保存窗口的窗口标志。 窗口标志控制窗口在窗口系统中的外观,是对话框,弹出窗口还是常规窗口,以及是否应具有标题栏等。

如果无法满足请求的标志,则实际的窗口标志可能与设置的标志不同。

See also setFlag() 此属性保存窗口几何的高度。

此属性保存窗口几何的最大高度。

此属性保存窗口几何的最大宽度。

此属性保存窗口几何的最小高度。

此属性保存窗口几何的最小宽度。

此属性保存窗口的模态。 模态窗口可防止其它窗口接收输入事件。 Qt 支持两种类型的模态: Qt::WindowModalQt::ApplicationModal

默认情况下,此属性为 Qt::NonModal

See also Qt::WindowModality 此属性保存窗口在窗口系统中的不透明度。 如果窗口系统支持窗口不透明度,则可以使用它来淡入和淡出窗口或使其半透明。

大于或等于1.0的值将被视为完全不透明,而小于或等于0.0的值将被视为完全透明。 中间的值表示两个极端之间的半透明程度不同。

默认值为1.0。

此属性在窗口系统中保存窗口的标题。 窗口标题可能会出现在窗口装饰的标题区域中,具体取决于窗口系统和窗口标志。 窗口系统还可以使用它在其它上下文(例如任务切换器)中标识窗口。

See also flags() 此属性保存窗口的屏幕占用状态。 可见性是窗口应在窗口系统中正常显示,最小化,最大化显示,全屏显示还是隐藏显示。

将可见性设置为 AutomaticVisibility 意味着为窗口提供默认的可见状态,根据平台的不同,该状态可以是全屏显示或窗口显示。 读取可见性属性时,将始终获得实际状态,而不会获得 AutomaticVisibility

此属性保存窗口是否可见。 此属性控制窗口在窗口系统中的可见性。

默认情况下,该窗口不可见,必须调用 (True) 或 show() 或类似方法使其可见。

See also show() 此属性保存窗口几何的宽度。

此属性保存窗口几何的 x 位置。

此属性保存窗口几何的 y 位置。