class QMdiSubWindow#

QMdiSubWindow 类提供了 QMdiArea 的子窗口类。 更多

Inheritance diagram of PySide6.QtWidgets.QMdiSubWindow

概要#

属性#

  • keyboardPageStepᅟ - 设置当使用键盘页面键时,控件应该移动或调整大小的距离

  • keyboardSingleStepᅟ - 设置当使用键盘箭头键时,控件应该移动或调整大小的距离

方法#

槽(slots)#

信号(signals)#

注意

本文档可能包含自动从C++翻译成Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告诉我们。

详细描述#

QMdiSubWindow 表示一个 QMdiArea 中的顶层窗口,并包含带窗口装饰的标题栏、内部小部件以及(根据当前样式)窗口框架和尺寸控件。 QMdiSubWindow 有自己的布局,其中包含标题栏和用于内部小部件的中心区域。

../../_images/qmdisubwindowlayout.png

构造 QMdiSubWindow 最常见的方法是通过使用内部小部件作为参数调用 addSubWindow() 。您也可以自己创建子窗口,并通过调用 setWidget() 来设置内部小部件。

在与子窗口编程时,您将使用与常规顶级窗口相同的API(例如,您可以使用诸如 show()hide()showMaximized() 以及 setWindowTitle() )函数。

子窗口处理#

QMdiSubWindow 还支持在MDI区域内特定的子窗口行为。

默认情况下,每个 QMdiSubWindow 在移动时会可见于MDI区域的视口中,但也可以指定透明窗口移动和调整大小行为,在这些操作中,更新的是子窗口的外轮廓。使用 setOption() 函数启用此行为。

isShaded() 函数检测子窗口是否当前处于阴影模式(即窗口折叠,只显示标题栏)。要进入阴影模式,请调用 showShaded() 。当窗口状态发生变化时(例如,窗口最小化或恢复), QMdiSubWindow 会发出 windowStateChanged() 信号。当它被激活之前,还会发出 aboutToActivate() 信号。

在键盘交互模式下,窗口通过键盘移动和调整大小。您可以通过窗口的系统菜单进入此模式。《a class="reference internal" href="#id1" title="PySide6.QtWidgets.QMdiSubWindow.keyboardSingleStep">keyboardSingleStep 和 《a class="reference internal" href="#id0" title="PySide6.QtWidgets.QMdiSubWindow.keyboardPageStep">keyboardPageStep 属性控制每个按键事件移动或调整大小的距离。当按下shift时使用页面步进;否则使用单步。

您还可以使用键盘更改活动窗口。同时按住控制键和标签键,将激活下一个(使用当前 WindowOrder )子窗口。按住控制、Shift 和标签键,可激活上一个窗口。这相当于调用 activateNextSubWindow()activatePreviousSubWindow() 。请注意,这些快捷键会覆盖全局快捷键,但不会覆盖 QMdiArea 的快捷键。

另请参阅

QMdiArea

class SubWindowOption#

(继承自 enum.Flag)这个枚举描述了自定义 QMdiSubWindow 行为的选项。

常量

描述

QMdiSubWindow.RubberBandResize

如果启用此选项,将使用橡皮筋控件来表示子窗口的轮廓,用户可以调整此控件而不是子窗口本身。因此,子窗口将保持其原始位置和大小,直到调整大小操作完成,此时将接收单个 QResizeEvent。默认情况下,此选项是禁用的。

QMdiSubWindow.RubberBandMove

如果启用此选项,将使用橡皮筋控件来表示子窗口的轮廓,用户可以移动此控件而不是子窗口本身。结果,子窗口将保持在其原始位置,直到移动操作完成,此时会向窗口发送 QMoveEvent。默认情况下,此选项是禁用的。

注意

可以使用时,直接使用 from __feature__ import true_property 或通过访问器函数。

property keyboardPageStepᅟ: int#

此属性设置在按键盘翻页键时,小部件应移动或调整大小多少。

在键盘交互模式下,您可以使用箭头键和翻页键来移动或调整窗口大小。此属性控制翻页键。进入键盘交互模式的常用方法是进入子窗口菜单,并选择“调整大小”或“移动”。

默认键盘翻页步长为 20 像素。

另请参阅

keyboardSingleStep

访问函数
property keyboardSingleStepᅟ: int#

此属性设置在按键盘箭头键时,小部件应移动或调整大小多少。

在键盘交互模式下,您可以使用箭头键和翻页键移动或调整窗口大小。该属性控制箭头键。进入键盘交互模式的常见方法是通过子窗口菜单,并选择“调整大小”或“移动”。

默认的键盘单步值为5像素。

另请参阅

keyboardPageStep

访问函数
__init__([parent=None[, flags=Qt.WindowFlags()]])#
参数:

构建一个新的 QMdiSubWindow 小部件。将 parentflags 参数传递给 QWidget 构造函数。

除了使用 addSubWindow(),在将子窗口添加到 QMdiArea 时,还可以使用 setParent()

请注意,只有 QMdiSubWindow 可以设置为 QMdiArea 的子对象;例如,您不能这样做

//bad code
QMdiArea mdiArea;
QTextEdit editor(&mdiArea); // invalid child widget

另请参阅

addSubWindow()

aboutToActivate()#

QMdiSubWindow 在激活前立即发出此信号。子窗口被激活后,管理子窗口的 QMdiArea 也会发出 subWindowActivated() 信号。

另请参阅

subWindowActivated()

isShaded()#
返回类型:

bool

如果该窗口已收缩到只显示标题栏,则返回 true;否则返回 false

当窗口收缩到只显示标题栏时,被认为是“收缩”的。

keyboardPageStep()#
返回类型:

int

另请参阅

setKeyboardPageStep()

属性 keyboardPageStep 的获取器。

keyboardSingleStep()#
返回类型:

int

属性 keyboardSingleStep 的获取器。

maximizedButtonsWidget()#
返回类型:

QWidget

maximizedSystemMenuIconWidget()#
返回类型:

QWidget

mdiArea()#
返回类型:

QMdiArea

返回包含此子窗口的区域,如果没有则返回 None

另请参阅

addSubWindow()

setKeyboardPageStep(step)#
参数:

step – int

另请参阅

keyboardPageStep()

属性 keyboardPageStep 的设置器。

setKeyboardSingleStep(step)#
参数:

step – int

另请参阅

keyboardSingleStep()

属性 keyboardSingleStep 的设置器。

setOption(option[, on=true])#
参数:

如果 on 为真,则 option 在子窗口中启用;否则禁用。请参阅 SubWindowOption 了解每个选项的影响。

setSystemMenu(systemMenu)#
参数:

systemMenuQMenu

systemMenu 设置为此子窗口当前的系统菜单。

默认情况下,每个 QMdiSubWindow 都有一个标准系统菜单。

QMdiSubWindow 创建的系统菜单的动作将根据当前窗口状态自动更新;例如,窗口最小化后,最小化动作将被禁用。

用户添加的动作不会被 QMdiSubWindow 更新。

QMdiSubWindow 拥有 systemMenu 的控制权;您不需要删除它。任何现有的菜单都将被删除。

setWidget(widget)#
参数:

widgetQWidget

widget 设置为子窗口的内部小部件。内部小部件将在标题栏下方显示在子窗口的中心。

QMdiSubWindow 临时拥有 widget 的控制权;您不需要删除它。现有的内部小部件将被移除,并将其重新移植到根窗口。

另请参阅

widget()

showShaded()#

调用此函数将使子窗口进入阴影模式。当子窗口处于阴影状态时,只能看到标题栏。

尽管阴影不支持所有样式,但此函数仍会将子窗口显示为阴影模式,无论是否存在阴影支持。但是,当与不支持阴影的样式一起使用时,用户将无法通过用户界面从阴影模式返回(例如,通过标题栏中的阴影按钮)。

另请参阅

isShaded()

showSystemMenu()#

在标题栏的系统菜单图标下方显示系统菜单。

systemMenu()#
返回类型:

Q菜单

返回当前系统菜单的指针,如果没有设置系统菜单则返回零。 QMdiSubWindow 提供一个默认系统菜单,但您也可以使用 setSystemMenu() 方法来设置菜单。

testOption(arg__1)#
参数:

arg__1SubWindowOption

返回类型:

bool

如果 option 被启用,则返回 true;否则返回 false

widget()#
返回类型:

QWidget

返回当前内部小部件。

另请参阅

setWidget()

windowStateChanged(oldState, newState)#
参数:

QMdiSubWindow 在窗口状态改变后发出此信号。 oldState 是窗口改变前的状态,而 newState 是新的 当前状态。