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