PySide6.QtGui.QWindow¶
- class QWindow¶
-
继承自:
QQuickWindow
,QQuickView
,QPaintDeviceWindow
,QOpenGLWindow
,QRasterWindow
,Qt3DWindow
概要¶
属性¶
activeᅟ
- 窗口的活动状态contentOrientationᅟ
- 窗口内容的朝向flagsᅟ
- 窗口的窗口标志heightᅟ
- 窗口几何的高度maximumHeightᅟ
- 窗口几何形状的最大高度maximumWidthᅟ
- 窗口几何形状的最大宽度minimumHeightᅟ
- 窗口几何形状的最小高度minimumWidthᅟ
- 窗口几何形状的最小宽度modalityᅟ
- 窗口的模式opacityᅟ
- 窗口在窗口系统中的不透明度titleᅟ
- 窗口在窗口系统中的标题visibilityᅟ
- 窗口的屏幕占用状态visibleᅟ
- 窗口是否可见widthᅟ
- 窗口几何形状的宽度xᅟ
- 窗口几何形状的x位置yᅟ
- 窗口几何形状的y位置
方法¶
def
__init__()
def
baseSize()
def
create()
def
cursor()
def
destroy()
def
filePath()
def
flags()
def
frameGeometry()
def
frameMargins()
def
framePosition()
def
geometry()
def
height()
def
icon()
def
isActive()
def
isAncestorOf()
def
isExposed()
def
isModal()
def
isTopLevel()
def
isVisible()
def
mapFromGlobal()
def
mapToGlobal()
def
mask()
def
maximumHeight()
def
maximumSize()
def
maximumWidth()
def
minimumHeight()
def
minimumSize()
def
minimumWidth()
def
modality()
def
opacity()
def
parent()
def
position()
def
resize()
def
screen()
def
setBaseSize()
def
setCursor()
def
setFilePath()
def
setFlag()
def
setFlags()
def
setFormat()
def
setIcon()
def
setMask()
def
setMaximumSize()
def
setMinimumSize()
def
setModality()
def
setOpacity()
def
setParent()
def
setPosition()
def
setScreen()
def
setSurfaceType()
def
setVisibility()
def
setWindowState()
def
sizeIncrement()
def
title()
def
type()
def
unsetCursor()
def
visibility()
def
width()
def
winId()
def
windowState()
def
windowStates()
def
x()
def
y()
虚拟方法¶
def
accessibleRoot()
def
closeEvent()
def
exposeEvent()
def
focusInEvent()
def
focusObject()
def
focusOutEvent()
def
hideEvent()
def
keyPressEvent()
def
mouseMoveEvent()
def
moveEvent()
def
nativeEvent()
def
paintEvent()
def
resizeEvent()
def
showEvent()
def
tabletEvent()
def
touchEvent()
def
wheelEvent()
插槽¶
def
alert()
def
close()
def
hide()
def
lower()
def
raise_()
def
requestUpdate()
def
setGeometry()
def
setHeight()
def
setTitle()
def
setVisible()
def
setWidth()
def
setX()
def
setY()
def
show()
def
showFullScreen()
def
showMaximized()
def
showMinimized()
def
showNormal()
信号¶
def
activeChanged()
def
heightChanged()
def
opacityChanged()
def
screenChanged()
def
visibleChanged()
def
widthChanged()
def
xChanged()
def
yChanged()
静态函数¶
def
fromWinId()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
一个被提供父窗口的窗口将成为其父窗口的原生子窗口。
应用程序通常会使用QWidget或QQuickView作为其用户界面,而不是直接使用
QWindow
。然而,当希望将依赖关系保持在最低限度或希望直接使用OpenGL时,仍然可以使用QBackingStore
或QOpenGLContext
直接渲染到QWindow
。Raster Window Example和OpenGL Window Example是如何使用这两种方法渲染到QWindow
的有用参考示例。资源管理¶
Windows 可能会使用大量内存。通常的测量方法是宽度乘以高度乘以颜色深度。窗口可能还包括多个缓冲区以支持双缓冲和三缓冲,以及深度和模板缓冲区。要释放窗口的内存资源,请调用
destroy()
函数。内容方向¶
QWindow
具有reportContentOrientationChange()
,可用于指定窗口内容相对于屏幕的布局。内容方向只是对窗口系统的一个提示,指示窗口内容的方向。当您希望保持相同的窗口大小但旋转内容时,这特别有用,尤其是在不同方向之间进行旋转动画时。窗口系统可能会使用此值来确定系统弹出窗口或对话框的布局。可见性和窗口系统暴露¶
默认情况下,窗口是不可见的,你必须调用
setVisible
(true),或者show()
或类似的方法使其可见。要使窗口再次隐藏,调用setVisible
(false)或hide()
。visible属性描述了应用程序希望窗口处于的状态。根据底层系统,一个可见的窗口可能仍然不会显示在屏幕上。例如,它可能被其他不透明的窗口覆盖或移动到屏幕的物理区域之外。在具有曝光通知的窗口系统中,isExposed()
访问器描述了窗口是否应被视为直接在屏幕上可见。每当窗口的某个区域无效时,例如由于窗口系统中的曝光变化,exposeEvent()
函数就会被调用。在不向应用程序显示此信息的窗口系统中,isExposed()
将简单地返回与isVisible()
相同的值。Visibility
通过visibility()
查询是一个方便的API,结合了 visible() 和windowStates()
的功能。渲染¶
有两种Qt API可以用于将内容渲染到窗口中,
QBackingStore
用于使用QPainter
进行渲染并将内容刷新到类型为RasterSurface
的窗口,以及QOpenGLContext
用于使用OpenGL渲染到类型为OpenGLSurface
的窗口。应用程序可以在
isExposed()
返回true
时开始渲染,并且可以继续渲染直到isExposed()
返回false
。要了解isExposed()
何时发生变化,请重新实现exposeEvent()
。窗口在第一次暴露事件之前总是会收到一个调整大小的事件。初始几何¶
如果窗口的宽度和高度未初始化,窗口将从平台窗口获取合理的默认几何形状。如果位置未初始化,则平台窗口将允许窗口系统定位窗口。例如,在X11上,窗口管理器通常会进行某种智能定位,以避免新窗口完全遮挡现有窗口。然而,
setGeometry()
会同时初始化位置和大小,因此如果你想要固定大小但自动位置,你应该调用resize()
或setWidth()
和setHeight()
来代替。- class Visibility¶
此枚举描述了窗口占据或应占据屏幕的哪一部分。
常量
描述
QWindow.Windowed
窗口占据屏幕的一部分,但不一定是整个屏幕。这种状态只会出现在支持同时显示多个窗口的窗口系统中。在这种状态下,如果WindowFlags允许并且窗口系统支持,用户可以手动移动和调整窗口大小。
QWindow.Minimized
窗口被缩小为任务栏、停靠栏、任务列表或桌面上的一个条目或图标,具体取决于窗口系统如何处理最小化的窗口。
QWindow.Maximized
窗口占据整个屏幕,标题栏仍然可见。在大多数窗口系统中,这是通过点击工具栏上的最大化按钮实现的状态。
QWindow.FullScreen
窗口占据整个屏幕,不可调整大小,并且没有标题栏。在某些不支持同时显示多个窗口的平台上,当窗口未隐藏时,这可能是通常的可见性状态。
QWindow.AutomaticVisibility
这意味着给窗口一个默认的可见状态,可能是全屏或窗口化,具体取决于平台。它可以作为参数传递给
setVisibility
,但永远不会从可见性访问器中读取。QWindow.Hidden
窗口在任何情况下都不可见,但它可能会记住一个潜在的可见性,可以通过设置AutomaticVisibility来恢复。
- class AncestorMode¶
此枚举用于控制是否应将临时父级视为祖先。
常量
描述
QWindow.ExcludeTransients
不考虑瞬态父级为祖先。
QWindow.IncludeTransients
临时父窗口被视为祖先。
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property activeᅟ: bool¶
此属性保存窗口的活动状态。
另请参阅
- Access functions:
- property contentOrientationᅟ: Qt.ScreenOrientation¶
此属性保存窗口内容的朝向。
这是对窗口管理器的提示,以防它需要显示与窗口相关的额外内容,如弹出窗口、对话框、状态栏或类似内容。
推荐的朝向是
orientation()
,但应用程序不必支持所有可能的朝向,因此可以选择忽略当前的屏幕朝向。窗口和内容方向之间的差异决定了内容需要旋转多少。
angleBetween()
、transformBetween()
和mapBetween()
可以用来计算必要的变换。默认值为 Qt::PrimaryOrientation
- Access functions:
- property flagsᅟ: Combination of Qt.WindowType¶
此属性保存窗口的窗口标志。
窗口标志控制窗口在窗口系统中的外观,无论是对话框、弹出窗口还是常规窗口,以及是否应具有标题栏等。
如果请求的标志无法满足,实际窗口标志可能与使用setFlags()设置的标志不同。
另请参阅
- Access functions:
- property heightᅟ: int¶
此属性保存窗口几何的高度。
- Access functions:
- property maximumHeightᅟ: int¶
此属性保存窗口几何形状的最大高度。
- Access functions:
- property maximumWidthᅟ: int¶
此属性保存窗口几何形状的最大宽度。
- Access functions:
- property minimumHeightᅟ: int¶
此属性保存窗口几何形状的最小高度。
- Access functions:
- property minimumWidthᅟ: int¶
此属性保存窗口几何形状的最小宽度。
- Access functions:
- property modalityᅟ: Qt.WindowModality¶
此属性保存窗口的模式。
模态窗口阻止其他窗口接收输入事件。Qt 支持两种类型的模态:Qt::WindowModal 和 Qt::ApplicationModal。
默认情况下,此属性为 Qt::NonModal
另请参阅
WindowModality
- Access functions:
- property opacityᅟ: float¶
此属性保存窗口在窗口系统中的不透明度。
如果窗口系统支持窗口不透明度,这可以用来使窗口淡入淡出,或使其半透明。
值为1.0或以上被视为完全不透明,而值为0.0或以下被视为完全透明。介于两者之间的值表示不同程度的半透明。
默认值为1.0。
- Access functions:
- property titleᅟ: str¶
此属性保存窗口在窗口系统中的标题。
窗口标题可能会出现在窗口装饰的标题区域,具体取决于窗口系统和窗口标志。它也可能被窗口系统用于在其他上下文中识别窗口,例如在任务切换器中。
另请参阅
- Access functions:
- property visibilityᅟ: QWindow.可见性¶
此属性保存窗口的屏幕占用状态。
可见性是指窗口在窗口系统中是否应显示为正常、最小化、最大化、全屏或隐藏。
将可见性设置为
AutomaticVisibility
意味着给窗口一个默认的可见状态,这可能是全屏或窗口化,具体取决于平台。当读取可见性属性时,您将始终获得实际状态,而不是AutomaticVisibility
。- Access functions:
- property visibleᅟ: bool¶
此属性表示窗口是否可见。
此属性控制窗口在窗口系统中的可见性。
默认情况下,窗口是不可见的,你必须调用 setVisible(true),或者
show()
或类似的方法使其可见。注意
隐藏窗口并不会将窗口从窗口系统中移除,它只是将其隐藏。在提供全屏应用程序专用桌面的窗口系统(如macOS)上,隐藏全屏窗口不会移除该桌面,而是将其留空。同一应用程序的另一个窗口可能会以全屏显示,并填充该桌面。使用
close
来完全从窗口系统中移除窗口。另请参阅
- Access functions:
- property widthᅟ: int¶
此属性保存窗口几何形状的宽度。
- Access functions:
- property xᅟ: int¶
此属性保存窗口几何形状的x位置。
- Access functions:
信号
xChanged()
- property yᅟ: int¶
此属性保存窗口几何形状的y位置。
- Access functions:
信号
yChanged()
在
targetScreen
上创建一个顶级窗口。窗口在调用
setVisible
(true)、show()
或类似方法之前不会显示。另请参阅
- __init__(parent)
- Parameters:
父窗口 –
QWindow
创建一个窗口作为给定
parent
窗口的子窗口。窗口将嵌入到父窗口中,其坐标相对于父窗口。
屏幕是从父级继承的。
另请参阅
- accessibleRoot()¶
- Return type:
- activeChanged()¶
属性
activeᅟ
的通知信号。- alert(msec)¶
- Parameters:
毫秒 – 整数
导致警报显示
msec
毫秒。如果msec
是0
(默认值),则警报将无限期显示,直到窗口再次变为活动状态。此函数对活动窗口没有影响。在警报状态下,窗口表示它需要关注,例如通过闪烁或跳动任务栏条目。
返回窗口的基本大小。
另请参阅
- close()¶
- Return type:
布尔
关闭窗口。
这将关闭窗口,实际上调用了
destroy()
,并可能退出应用程序。成功时返回true
,如果它有父窗口(在这种情况下应关闭顶层窗口),则返回false。- closeEvent(ev)¶
- Parameters:
ev –
QCloseEvent
重写此方法以处理关闭事件 (
ev
)。当请求关闭窗口时调用该函数。如果你想阻止窗口关闭,可以在事件上调用QEvent::ignore()。
另请参阅
- contentOrientation()¶
- Return type:
属性
contentOrientationᅟ
的获取器。- contentOrientationChanged(orientation)¶
- Parameters:
orientation –
ScreenOrientation
属性
contentOrientationᅟ
的通知信号。- create()¶
分配与窗口相关的平台资源。
正是在这一点上,使用
setFormat()
设置的表面格式被解析为实际的本地表面。然而,窗口在调用setVisible()
之前仍然保持隐藏状态。请注意,通常不需要直接调用此函数,因为它将由
show()
、setVisible()
、winId()
以及其他需要访问平台资源的函数隐式调用。如有必要,调用
destroy()
以释放平台资源。另请参阅
此窗口的光标形状
另请参阅
- destroy()¶
释放与此窗口关联的本机平台资源。
另请参阅
- devicePixelRatio()¶
- Return type:
浮点数
返回窗口的物理像素与设备独立像素之间的比率。此值取决于窗口所在的屏幕,并且当窗口移动时可能会发生变化。
常见值为普通显示器上的1.0和苹果“视网膜”显示器上的2.0。
- exposeEvent(ev)¶
- Parameters:
ev –
QExposeEvent
当窗口在未暴露和暴露状态之间移动时,窗口系统会发送暴露事件(
ev
)。一个暴露的窗口可能对用户可见。如果窗口被移出屏幕,被另一个窗口完全遮挡,被最小化,或类似情况,可能会调用此函数,并且
isExposed()
的值可能会变为false。您可以使用此事件来限制昂贵的操作,例如动画,仅在窗口暴露时运行。此事件不应用于绘制。要处理绘制,请改为实现
paintEvent()
。在窗口首次显示时,调整大小事件总是在暴露事件之前发送。
另请参阅
- filePath()¶
- Return type:
字符串
此窗口表示的文件名。
另请参阅
- flags()¶
- Return type:
WindowType
的组合
另请参阅
属性
flagsᅟ
的获取器。- focusInEvent(ev)¶
- Parameters:
ev –
QFocusEvent
重写此方法以处理焦点事件(
ev
)。当窗口接收到键盘焦点时,会发送焦点事件。
另请参阅
返回将成为与焦点相关事件(如键盘事件)的最终接收者的QObject。
当与焦点相关的事件的最终接收者更改为
object
时,会发出此信号。另请参阅
- focusOutEvent(ev)¶
- Parameters:
ev –
QFocusEvent
重写此方法以处理焦点移出事件 (
ev
)。当窗口失去键盘焦点时,会发送焦点失去事件。
另请参阅
返回窗口的几何形状,包括其窗口框架。
几何形状与其屏幕的virtualGeometry()相关。
另请参阅
返回窗口周围的窗口框架边距。
返回窗口的左上角位置,包括其窗口框架。
这将返回与
frameGeometry()
.topLeft()相同的值。创建一个由另一个进程或使用Qt下的本地库创建的窗口的本地表示。
给定一个本地窗口的句柄
id
,此方法创建一个QWindow
对象,该对象可用于在调用诸如setParent()
和setTransientParent()
等方法时表示该窗口。这可以在支持的平台上使用,以将
QWindow
嵌入到本地窗口中,或将本地窗口嵌入到QWindow
中。如果平台插件不支持外部窗口或嵌入本机窗口失败,此函数将返回
None
。返回窗口的几何形状,不包括其窗口框架。
几何形状与其屏幕的virtualGeometry()相关。
- height()¶
- Return type:
整数
另请参阅
属性
heightᅟ
的获取器。- heightChanged(arg)¶
- Parameters:
arg – 整数
属性
heightᅟ
的通知信号。- hide()¶
隐藏窗口。
等同于调用
setVisible
(false)。另请参阅
- hideEvent(ev)¶
- Parameters:
ev –
QHideEvent
重写此方法以处理隐藏事件(
ev
)。当窗口在窗口系统中请求隐藏时,将调用此函数。
返回窗口在窗口系统中的图标
另请参阅
- isActive()¶
- Return type:
布尔
如果窗口是活动的,返回
true
。这种情况适用于具有输入焦点的窗口以及位于与焦点窗口相同的父/瞬态父链中的窗口。
通常,活动窗口应该从样式角度看起来是活动的。
要获取当前具有焦点的窗口,请使用
focusWindow()
。另请参阅
属性
activeᅟ
的获取器。- isAncestorOf(child[, mode=QWindow.AncestorMode.IncludeTransients])¶
- Parameters:
child –
QWindow
mode –
AncestorMode
- Return type:
布尔
如果窗口是给定
child
的祖先,则返回true
。如果mode
是IncludeTransients
,则临时父窗口也被视为祖先。- isExposed()¶
- Return type:
布尔
返回此窗口是否在窗口系统中暴露。
当窗口未暴露时,它由应用程序显示,但仍未在窗口系统中显示,因此应用程序应尽量减少动画和其他图形活动。
每当这个值发生变化时,都会发送一个
exposeEvent()
。另请参阅
- isModal()¶
- Return type:
布尔
返回窗口是否为模态。
模态窗口阻止其他窗口获取任何输入。
另请参阅
- isTopLevel()¶
- Return type:
布尔
返回窗口是否为顶层窗口,即没有父窗口。
- isVisible()¶
- Return type:
布尔
属性
visibleᅟ
的获取器。重写此方法以处理按键事件 (
ev
)。另请参阅
重写此方法以处理按键释放事件(
ev
)。另请参阅
- lower()¶
在窗口系统中降低窗口。
请求将窗口降低以显示在其他窗口下方。
这是一个重载函数。
将全局屏幕坐标
pos
转换为窗口坐标。另请参阅
这是一个重载函数。
将窗口坐标
pos
转换为全局屏幕坐标。例如,mapToGlobal(QPointF(0,0))
将给出窗口左上角像素的全局坐标。另请参阅
返回在窗口上设置的掩码。
遮罩是向窗口系统的一个提示,表示应用程序不希望接收给定区域之外的鼠标或触摸输入。
另请参阅
- maximumHeight()¶
- Return type:
整数
另请参阅
属性
maximumHeightᅟ
的获取器。- maximumHeightChanged(arg)¶
- Parameters:
arg – 整数
属性
maximumHeightᅟ
的通知信号。返回窗口的最大尺寸。
另请参阅
- maximumWidth()¶
- Return type:
整数
另请参阅
属性
maximumWidthᅟ
的获取器。- maximumWidthChanged(arg)¶
- Parameters:
arg – 整数
属性
maximumWidthᅟ
的通知信号。- minimumHeight()¶
- Return type:
整数
另请参阅
属性
minimumHeightᅟ
的获取器。- minimumHeightChanged(arg)¶
- Parameters:
arg – 整数
属性
minimumHeightᅟ
的通知信号。返回窗口的最小尺寸。
另请参阅
- minimumWidth()¶
- Return type:
整数
另请参阅
属性
minimumWidthᅟ
的获取器。- minimumWidthChanged(arg)¶
- Parameters:
arg – 整数
属性
minimumWidthᅟ
的通知信号。- modality()¶
- Return type:
另请参阅
属性
modalityᅟ
的获取器。- modalityChanged(modality)¶
- Parameters:
模态 –
WindowModality
当Qwindow::modality属性更改为
modality
时,会发出此信号。属性
modalityᅟ
的通知信号。- mouseDoubleClickEvent(ev)¶
- Parameters:
ev –
QMouseEvent
重写此方法以处理鼠标双击事件 (
ev
)。- mouseMoveEvent(ev)¶
- Parameters:
ev –
QMouseEvent
重写此方法以处理鼠标移动事件 (
ev
)。- mousePressEvent(ev)¶
- Parameters:
ev –
QMouseEvent
重写此方法以处理鼠标按下事件 (
ev
)。另请参阅
- mouseReleaseEvent(ev)¶
- Parameters:
ev –
QMouseEvent
重写此方法以处理鼠标释放事件 (
ev
)。另请参阅
- moveEvent(ev)¶
- Parameters:
ev –
QMoveEvent
重写此方法以处理窗口移动事件 (
ev
)。- nativeEvent(eventType, message)¶
- Parameters:
eventType –
QByteArray
message –
void
- Return type:
PyObject
重写此方法以处理平台相关的事件。将会接收到
eventType
,message
和result
。这可能会使您的应用程序不可移植。
只有在事件被处理时才应返回true。
- opacity()¶
- Return type:
浮点数
另请参阅
属性
opacityᅟ
的获取器。- opacityChanged(opacity)¶
- Parameters:
opacity – 浮点数
属性
opacityᅟ
的通知信号。- paintEvent(ev)¶
- Parameters:
ev –
QPaintEvent
每当窗口的某个区域需要重新绘制时,窗口系统会发送绘制事件(
ev
),例如在最初显示窗口时,或者由于移动另一个窗口而暴露了窗口的部分区域。应用程序预计会在响应绘制事件时渲染到窗口中,无论窗口的暴露状态如何。例如,在窗口暴露之前可能会发送一个绘制事件,以便为用户显示做好准备。
另请参阅
- parent([mode=QWindow.AncestorMode.ExcludeTransients])¶
- Parameters:
mode –
AncestorMode
- Return type:
返回父窗口(如果有的话)。
如果
mode
是IncludeTransients
,那么在没有父级的情况下将返回瞬态父级。没有父窗口的窗口被称为顶级窗口。
另请参阅
返回窗口在桌面上的位置,不包括任何窗口框架
注意
并非所有的窗口系统都支持设置或查询顶层窗口的位置。在这样的系统上,以编程方式移动窗口可能没有任何效果,并且可能会返回当前位置的人工值,例如
QPoint(0, 0)
。另请参阅
- raise_()¶
- reportContentOrientationChange(orientation)¶
- Parameters:
orientation –
ScreenOrientation
属性
contentOrientationᅟ
的设置器。- requestActivate()¶
请求窗口被激活,即接收键盘焦点。
另请参阅
- requestUpdate()¶
安排一个QEvent::UpdateRequest事件发送到此窗口。
事件在可能的情况下与显示器的垂直同步信号同步传递。否则,事件将在最多5毫秒的延迟后传递。如果窗口关联的屏幕报告的
刷新率 高于60 Hz
,则间隔会缩小到小于5的值。额外的时间是为了给事件循环一些空闲时间来收集系统事件,并且可以使用QT_QPA_UPDATE_IDLE_TIME环境变量进行覆盖。在驱动动画时,此函数应在绘制完成后调用一次。多次调用此函数将导致单个事件被传递到窗口。
QWindow
的子类应该重新实现event()
,拦截事件并调用应用程序的渲染代码,然后调用基类的实现。注意
子类对
event()
的重新实现必须调用基类的实现,除非它绝对确定该事件不需要由基类处理。例如,此函数的默认实现依赖于QEvent::Timer事件。因此,过滤掉它们将破坏更新事件的传递。- requestedFormat()¶
- Return type:
返回此窗口请求的表面格式。
如果平台实现不支持请求的格式,请求的格式将与实际的窗口格式不同。
这是用
setFormat()
设置的值。另请参阅
setFormat()
format()
设置窗口的大小,不包括任何窗口框架,为
newSize
另请参阅
size()
geometry()
- resize(w, h)
- Parameters:
w – 整数
h – 整数
设置窗口的大小,不包括任何窗口框架,设置为由宽度
w
和高度h
构造的 QSize要交互式调整窗口大小,请参见
startSystemResize()
。另请参阅
size()
geometry()
- resizeEvent(ev)¶
- Parameters:
ev –
QResizeEvent
重写此方法以处理调整大小事件(
ev
)。每当窗口在窗口系统中调整大小时,都会调用resize事件,无论是通过窗口系统直接确认
setGeometry()
或resize()
请求,还是通过用户手动调整窗口大小间接触发。- resolveInterface(name, revision)¶
- Parameters:
name – str
revision – int
- Return type:
void
返回显示窗口的屏幕,如果没有则返回null。
对于子窗口,这将返回相应顶级窗口的屏幕。
当窗口的
screen
发生变化时,会发出此信号,无论是通过setScreen()
显式设置,还是在窗口的屏幕被移除时自动发生。设置窗口的基本
size
。如果窗口定义了
sizeIncrement()
,则使用基础大小来计算适当的窗口大小。设置此窗口的光标形状
鼠标
cursor
在悬停在此窗口上时将呈现此形状,除非设置了覆盖光标。请参阅预定义光标对象列表以获取一系列有用的形状。如果没有设置光标,或者在调用
unsetCursor()
之后,将使用父窗口的光标。默认情况下,光标具有 Qt::ArrowCursor 形状。
一些底层的窗口实现会在光标离开窗口时重置光标,即使鼠标被捕获。如果你想为所有窗口设置光标,即使是在窗口外部,考虑使用
setOverrideCursor()
。- setFilePath(filePath)¶
- Parameters:
filePath – str
设置此窗口所代表的文件名。
窗口系统可能会使用
filePath
在标题栏中显示此窗口所代表的文档路径。另请参阅
- setFlag(flag[, on=true])¶
- Parameters:
flag –
WindowType
on – 布尔值
如果
on
为真,则在此窗口上设置窗口标志flag
;否则清除该标志。另请参阅
- setFlags(flags)¶
- Parameters:
flags –
WindowType
的组合
另请参阅
属性
flagsᅟ
的设置器。- setFormat(format)¶
- Parameters:
格式 –
QSurfaceFormat
设置窗口的表面
format
。格式决定了诸如颜色深度、透明度、深度和模板缓冲区大小等属性。例如,为了使窗口具有透明背景(前提是窗口系统支持合成,并且窗口中的其他内容不会使其再次变为不透明):
QSurfaceFormat format; format.setAlphaBufferSize(8); window.setFormat(format);
表面格式将在
create()
函数中解析。在create()
函数被调用后再次调用此函数将不会重新解析原生表面的表面格式。当格式没有通过此函数明确设置时,将使用
defaultFormat()
返回的格式。这意味着当有多个窗口时,可以在创建第一个窗口之前,通过一次调用setDefaultFormat()
来替代对此函数的多次调用。另请参阅
format()
create()
destroy()
setDefaultFormat()
设置窗口的左上角位置(
point
),包括其窗口框架。该位置与其屏幕的virtualGeometry()相关。
设置窗口的几何形状,不包括其窗口框架,为
rect
。几何形状与其屏幕的virtualGeometry()相关。
另请参阅
- setGeometry(posx, posy, w, h)
- Parameters:
posx – 整数
posy – int
w – 整数
h – 整数
设置窗口的几何形状,不包括其窗口框架,为由
posx
、posy
、w
和h
构建的矩形。几何形状与其屏幕的virtualGeometry()相关。
另请参阅
属性
heightᅟ
的设置器。设置窗口在窗口系统中的
icon
窗口图标可能被窗口系统使用,例如用于装饰窗口,和/或在任务切换器中。
- setKeyboardGrabEnabled(grab)¶
- Parameters:
grab – 布尔值
- Return type:
布尔
设置是否应启用键盘抓取(
grab
)。如果返回值为true,窗口将接收所有键盘事件,直到调用setKeyboardGrabEnabled(false);其他窗口将不会收到任何键盘事件。鼠标事件不受影响。如果你想捕获鼠标事件,请使用
setMouseGrabEnabled()
。设置窗口的遮罩。
遮罩是向窗口系统的一个提示,表示应用程序不希望接收给定
region
之外的鼠标或触摸输入。窗口管理器可能会选择显示或不显示不包括在遮罩中的任何窗口区域,因此应用程序有责任清除不属于遮罩的区域为透明。
另请参阅
- setMaximumHeight(h)¶
- Parameters:
h – 整数
另请参阅
属性
maximumHeightᅟ
的设置器。设置窗口的最大尺寸。
这是对窗口管理器的提示,以防止调整大小超过指定的
size
。- setMaximumWidth(w)¶
- Parameters:
w – 整数
另请参阅
属性
maximumWidthᅟ
的设置器。- setMinimumHeight(h)¶
- Parameters:
h – 整数
另请参阅
属性
minimumHeightᅟ
的设置器。设置窗口的最小尺寸。
这是对窗口管理器的提示,以防止调整大小低于指定的
size
。- setMinimumWidth(w)¶
- Parameters:
w – 整数
另请参阅
属性
minimumWidthᅟ
的设置器。- setModality(modality)¶
- Parameters:
模态 –
WindowModality
另请参阅
属性
modalityᅟ
的设置器。- setMouseGrabEnabled(grab)¶
- Parameters:
grab – 布尔值
- Return type:
布尔
设置是否应启用鼠标抓取(
grab
)。如果返回值为true,窗口将接收所有鼠标事件,直到调用setMouseGrabEnabled(false);其他窗口将不会收到任何鼠标事件。键盘事件不受影响。如果你想捕获键盘事件,请使用
setKeyboardGrabEnabled()
。属性
opacityᅟ
的设置器。设置
parent
窗口。这将导致窗口系统管理窗口的裁剪,因此它将被裁剪到parent
窗口。将
parent
设置为None
将使窗口成为顶级窗口。如果
parent
是由fromWinId()
创建的窗口,那么当前窗口将嵌入到parent
中,如果平台支持的话。另请参阅
将窗口在桌面上的位置设置为
pt
该位置与其屏幕的virtualGeometry()相关。
要交互式地移动窗口,请参见
startSystemMove()
。要交互式地调整窗口大小,请参见startSystemResize()
。注意
并非所有的窗口系统都支持设置或查询顶层窗口的位置。在这样的系统上,以编程方式移动窗口可能没有任何效果,并且可能会返回当前位置的人工值,例如
QPoint(0, 0)
。- setPosition(posx, posy)
- Parameters:
posx – 整数
posy – int
将窗口在桌面上的位置设置为
posx
,posy
该位置与其屏幕的virtualGeometry()相关。
另请参阅
设置窗口应显示的屏幕。
如果窗口已经创建,它将在
newScreen
上重新创建。注意
如果屏幕是多个屏幕的虚拟桌面的一部分,窗口将不会自动移动到
newScreen
。要将窗口相对于屏幕放置,请使用屏幕的topLeft()位置。此函数仅适用于顶级窗口。
设置窗口的大小增量(
size
)。当用户调整窗口大小时,大小将以
sizeIncrement()
为步长移动。水平方向为width()
像素,垂直方向为sizeIncrement()
像素,以baseSize()
为基础。默认情况下,此属性包含宽度和高度为零的大小。
窗口系统可能不支持大小增量。
- setSurfaceType(surfaceType)¶
- Parameters:
surfaceType –
SurfaceType
设置窗口的
surfaceType
。指定窗口是用于
QBackingStore
的光栅渲染,还是用于QOpenGLContext
的OpenGL渲染。surfaceType
将在原生表面在create()
函数中创建时使用。在原生表面创建后调用此函数需要调用destroy()
和create()
来释放旧的原生表面并创建一个新的。另请参阅
surfaceType()
QBackingStore
QOpenGLContext
create()
destroy()
属性
titleᅟ
的设置器。属性
visibilityᅟ
的设置器。- setVisible(visible)¶
- Parameters:
visible – 布尔值
另请参阅
属性
visibleᅟ
的设置器。属性
widthᅟ
的设置器。- setWindowState(state)¶
- Parameters:
状态 –
WindowState
设置窗口的屏幕占用状态
窗口的
state
表示窗口在窗口系统中是否显示为最大化、最小化、全屏或正常状态。枚举值 Qt::WindowActive 不是一个被接受的参数。
- setWindowStates(states)¶
- Parameters:
states –
WindowState
的组合
设置窗口的屏幕占用状态
窗口的
state
表示窗口在窗口系统中是否以最大化、最小化和/或全屏显示。窗口可以处于多种状态的组合中。例如,如果窗口同时处于最小化和最大化状态,窗口将显示为最小化,但点击任务栏条目将恢复为最大化状态。
枚举值 Qt::WindowActive 不应被设置。
属性
xᅟ
的设置器。属性
yᅟ
的设置器。- show()¶
显示窗口。
对于子窗口,这相当于调用
showNormal()
。否则,它相当于调用showFullScreen()
、showMaximized()
或showNormal()
,具体取决于窗口类型和标志的平台默认行为。- showEvent(ev)¶
- Parameters:
ev –
QShowEvent
重写此方法以处理显示事件(
ev
)。当窗口请求变为可见时调用该函数。
如果窗口系统成功显示窗口,随后将会有调整大小和暴露事件。
- showFullScreen()¶
将窗口显示为全屏。
相当于调用
setWindowStates
(Qt::WindowFullScreen) 然后调用setVisible
(true)。请参阅QWidget::showFullScreen()文档以了解特定平台的注意事项和限制。
- showMaximized()¶
将窗口显示为最大化。
相当于调用
setWindowStates
(Qt::WindowMaximized) 然后调用setVisible
(true)。- showMinimized()¶
将窗口显示为最小化。
相当于调用
setWindowStates
(Qt::WindowMinimized) 然后调用setVisible
(true)。- showNormal()¶
以正常方式显示窗口,即既不最大化,也不最小化,也不是全屏。
相当于调用
setWindowStates
(Qt::WindowNoState) 然后调用setVisible
(true)。返回窗口的大小增量。
另请参阅
- startSystemMove()¶
- Return type:
布尔
启动系统特定的移动操作
调用此操作将在支持它的平台上启动窗口的交互式移动操作。实际行为可能因平台而异。通常,它会使窗口跟随鼠标光标,直到释放鼠标按钮。
在支持此功能的平台上,这种移动窗口的方法比
setPosition
更受青睐,因为它允许窗口移动具有更原生的外观和感觉,例如让窗口管理器将此窗口与其他窗口对齐,或在拖动到屏幕边缘时具有特殊的平铺或调整大小行为以及动画效果。此外,在某些平台(如Wayland)上,setPosition
不受支持,因此这是应用程序影响其位置的唯一方式。如果系统支持该操作,则返回 true。
启动系统特定的调整大小操作
调用此操作将在支持它的平台上启动窗口的交互式调整大小操作。实际行为可能因平台而异。通常,它会使窗口调整大小,使其边缘跟随鼠标光标。
在支持它的平台上,这种调整窗口大小的方法比
setGeometry
更受青睐,因为它允许更原生的窗口调整外观和感觉,例如让窗口管理器将此窗口与其他窗口对齐,或在拖动到屏幕边缘时具有特殊调整大小行为的动画。edges
应该是一个单独的边,或者两个相邻的边(一个角)。其他值是不允许的。如果系统支持该操作,则返回 true。
- tabletEvent(ev)¶
- Parameters:
ev –
QTabletEvent
重写此方法以处理平板电脑的按下、移动和释放事件(
ev
)。邻近进入和离开事件不会发送到窗口,它们会传递给应用程序实例。
- title()¶
- Return type:
字符串
另请参阅
属性
titleᅟ
的获取器。- touchEvent(ev)¶
- Parameters:
ev –
QTouchEvent
重写此方法以处理触摸事件 (
ev
)。- transientParent()¶
- Return type:
另请参阅
- type()¶
- Return type:
返回窗口的类型。
这将返回窗口标志中表示窗口是否为对话框、工具提示、弹出窗口、常规窗口等的部分。
另请参阅
- unsetCursor()¶
恢复此窗口的默认箭头光标。
- visibility()¶
- Return type:
另请参阅
获取属性
visibilityᅟ
的Getter。- visibilityChanged(visibility)¶
- Parameters:
可见性 –
Visibility
属性
visibilityᅟ
的通知信号。- visibleChanged(arg)¶
- Parameters:
arg – 布尔值
属性
visibleᅟ
的通知信号。- wheelEvent(ev)¶
- Parameters:
ev –
QWheelEvent
重写此方法以处理鼠标滚轮或其他滚轮事件(
ev
)。- width()¶
- Return type:
整数
另请参阅
属性
widthᅟ
的获取器。- widthChanged(arg)¶
- Parameters:
arg – 整数
属性
widthᅟ
的通知信号。- winId()¶
- Return type:
WId
返回窗口的平台ID。
注意
如果平台窗口尚未创建,此函数将导致平台窗口被创建。如果平台窗口创建失败,则返回0。
对于可能需要此ID的平台,返回的值将唯一地表示相应屏幕内的窗口。
另请参阅
- windowState()¶
- Return type:
窗口的屏幕占用状态
- windowStateChanged(windowState)¶
- Parameters:
windowState –
WindowState
当
windowState
发生变化时,会发出此信号,无论是通过setWindowStates()
显式设置,还是当用户点击标题栏按钮或其他方式自动触发。- windowStates()¶
- Return type:
WindowState
的组合
窗口的屏幕占用状态
窗口可以处于多种状态的组合中。例如,如果窗口同时处于最小化和最大化状态,窗口将显示为最小化,但点击任务栏条目将恢复为最大化状态。
另请参阅
- windowTitleChanged(title)¶
- Parameters:
标题 – str
属性
titleᅟ
的通知信号。属性
xᅟ
的获取器。- xChanged(arg)¶
- Parameters:
arg – 整数
属性
xᅟ
的通知信号。属性
yᅟ
的获取器。- yChanged(arg)¶
- Parameters:
arg – 整数
属性
yᅟ
的通知信号。