PySide6.QtWidgets.QMdiSubWindow¶
- class QMdiSubWindow¶
QMdiSubWindow类为QMdiArea提供了一个子窗口类。更多…概要¶
属性¶
keyboardPageStepᅟ- 设置在使用键盘页面键时,小部件应移动或调整大小的距离keyboardSingleStepᅟ- 设置在使用键盘箭头键时,小部件应移动或调整大小的距离
方法¶
def
__init__()def
isShaded()def
mdiArea()def
setOption()def
setSystemMenu()def
setWidget()def
systemMenu()def
testOption()def
widget()
插槽¶
def
showShaded()def
showSystemMenu()
信号¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QMdiSubWindow表示在QMdiArea中的一个顶层窗口,它由一个带有窗口装饰的标题栏、一个内部小部件以及(取决于当前样式)一个窗口框架和一个大小调整手柄组成。QMdiSubWindow有自己的布局,该布局由标题栏和用于内部小部件的中心区域组成。
构造
QMdiSubWindow的最常见方法是使用内部小部件作为参数调用addSubWindow()。你也可以自己创建一个子窗口,并通过调用setWidget()来设置内部小部件。在使用子窗口编程时,您使用的API与常规顶层窗口相同(例如,您可以调用诸如
show()、hide()、showMaximized()和setWindowTitle()等函数)。子窗口处理¶
QMdiSubWindow还支持在MDI区域中子窗口的特定行为。默认情况下,每个
QMdiSubWindow在MDI区域视口中移动时都是可见的,但也可以指定透明的窗口移动和调整大小行为,在这些操作期间只更新子窗口的轮廓。setOption()函数用于启用此行为。isShaded()函数检测子窗口当前是否处于阴影状态(即窗口被折叠,只有标题栏可见)。要进入阴影模式,请调用showShaded()。QMdiSubWindow在窗口状态发生变化时(例如,当窗口最小化或恢复时)会发出windowStateChanged()信号。它还会在激活之前发出aboutToActivate()。在键盘交互模式下,窗口可以通过键盘进行移动和调整大小。您可以通过窗口的系统菜单进入此模式。
keyboardSingleStep和keyboardPageStep属性控制每次按键事件时小部件移动或调整大小的距离。当按下shift键时,使用页面步长;否则使用单步长。你也可以用键盘来改变活动窗口。同时按下控制和Tab键,下一个(使用当前的
WindowOrder)子窗口将被激活。按下控制、Shift和Tab键,你将激活前一个窗口。这相当于调用activateNextSubWindow()和activatePreviousSubWindow()。请注意,这些快捷键会覆盖全局快捷键,但不会覆盖QMdiArea的快捷键。另请参阅
- class SubWindowOption¶
(继承自
enum.Flag) 此枚举描述了自定义QMdiSubWindow行为的选项。常量
描述
QMdiSubWindow.RubberBandResize
如果启用此选项,将使用橡皮筋控件来表示子窗口的轮廓,用户调整的是这个轮廓而不是子窗口本身的大小。因此,子窗口在调整大小操作完成之前保持其原始位置和大小,此时它将接收一个QResizeEvent。默认情况下,此选项是禁用的。
QMdiSubWindow.RubberBandMove
如果启用此选项,将使用橡皮筋控件来表示子窗口的轮廓,用户移动的是这个轮廓而不是子窗口本身。因此,子窗口在移动操作完成之前保持在其原始位置,此时会向窗口发送一个QMoveEvent。默认情况下,此选项是禁用的。
注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property keyboardPageStepᅟ: int¶
此属性设置在使用键盘页面键时,小部件应移动或调整大小的距离。
在键盘交互模式下,您可以使用箭头键和页面键来移动或调整窗口大小。此属性控制页面键。进入键盘交互模式的常见方法是进入子窗口菜单,然后选择“调整大小”或“移动”。
默认的键盘页面步长值为20像素。
另请参阅
- Access functions:
- property keyboardSingleStepᅟ: int¶
此属性设置在使用键盘箭头键时,小部件应移动或调整大小的距离。
在键盘交互模式下,您可以使用箭头键和页面键来移动或调整窗口大小。此属性控制箭头键。进入键盘交互模式的常见方法是进入子窗口菜单,然后选择“调整大小”或“移动”。
默认键盘单步值为5像素。
另请参阅
- Access functions:
- __init__([parent=None[, flags=Qt.WindowFlags()]])¶
- Parameters:
parent –
QWidgetflags –
WindowType的组合
构造一个新的
QMdiSubWindow小部件。parent和flags参数被传递给QWidget的构造函数。除了使用addSubWindow(),在将子窗口添加到
QMdiArea时,也可以简单地使用setParent()。请注意,只有
QMdiSubWindow可以被设置为QMdiArea的子窗口;例如,你不能这样写://bad code QMdiArea mdiArea; QTextEdit editor(&mdiArea); // invalid child widget
另请参阅
- aboutToActivate()¶
QMdiSubWindow在它被激活之前立即发出这个信号。在子窗口被激活后,管理子窗口的QMdiArea也会发出subWindowActivated()信号。另请参阅
- isShaded()¶
- Return type:
布尔
如果此窗口被阴影覆盖,则返回
true;否则返回false。如果窗口被折叠,只显示标题栏,则该窗口是阴影的。
- keyboardPageStep()¶
- Return type:
整数
属性
keyboardPageStepᅟ的获取器。- keyboardSingleStep()¶
- Return type:
整数
属性
keyboardSingleStepᅟ的获取器。返回包含此子窗口的区域,如果没有则返回
None。另请参阅
- setKeyboardPageStep(step)¶
- Parameters:
step – 整数
另请参阅
属性
keyboardPageStepᅟ的设置器。- setKeyboardSingleStep(step)¶
- Parameters:
step – 整数
另请参阅
属性
keyboardSingleStepᅟ的设置器。- setOption(option[, on=true])¶
- Parameters:
选项 –
SubWindowOptionon – 布尔值
如果
on为真,option将在子窗口上启用;否则将被禁用。有关每个选项的效果,请参见SubWindowOption。将
systemMenu设置为当前子窗口的系统菜单。默认情况下,每个
QMdiSubWindow都有一个标准的系统菜单。由
QMdiSubWindow创建的系统菜单的QActions将根据当前窗口状态自动更新;例如,窗口最小化后,最小化操作将被禁用。用户添加的QActions不会被
QMdiSubWindow更新。QMdiSubWindow拥有systemMenu的所有权;你不需要删除它。任何现有的菜单将被删除。将
widget设置为此子窗口的内部小部件。内部小部件显示在子窗口标题栏下方的中心位置。QMdiSubWindow临时拥有widget;您不需要删除它。任何现有的内部小部件将被移除并重新设置为根窗口。另请参阅
- showShaded()¶
调用此函数将使子窗口进入阴影模式。当子窗口被阴影化时,只有标题栏可见。
尽管并非所有样式都支持阴影效果,此函数仍会将子窗口显示为阴影状态,无论是否支持阴影效果。然而,当与不支持阴影效果的样式一起使用时,用户将无法通过用户界面(例如,通过标题栏中的阴影按钮)从阴影模式返回。
另请参阅
- showSystemMenu()¶
在标题栏中的系统菜单图标下方显示系统菜单。
返回指向当前系统菜单的指针,如果未设置系统菜单,则返回零。
QMdiSubWindow提供了一个默认的系统菜单,但你也可以使用setSystemMenu()来设置菜单。- testOption(option)¶
- Parameters:
选项 –
SubWindowOption- Return type:
布尔
如果
option已启用,则返回true;否则返回false。返回当前内部小部件。
另请参阅
- windowStateChanged(oldState, newState)¶
- Parameters:
oldState –
WindowState的组合newState –
WindowState的组合
QMdiSubWindow在窗口状态改变后发出此信号。oldState是改变前的窗口状态,newState是新的当前状态。