PySide6.QtWidgets.QStackedLayout¶
- class QStackedLayout¶
QStackedLayout类提供了一个小部件堆栈,其中一次只能看到一个小部件。更多…概要¶
属性¶
currentIndexᅟ- 当前可见小部件的索引位置stackingModeᅟ- 确定子小部件的可见性处理方式
方法¶
def
__init__()def
currentIndex()def
currentWidget()def
insertWidget()def
stackingMode()def
widget()
插槽¶
信号¶
def
currentChanged()def
widgetRemoved()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QStackedLayout可用于创建类似于QTabWidget提供的用户界面。还有一个基于QStackedLayout构建的便捷类QStackedWidget。一个
QStackedLayout可以包含多个子部件(“页面”)。例如:firstPageWidget = QWidget() secondPageWidget = QWidget() thirdPageWidget = QWidget() stackedLayout = QStackedLayout() stackedLayout.addWidget(firstPageWidget) stackedLayout.addWidget(secondPageWidget) stackedLayout.addWidget(thirdPageWidget) mainLayout = QVBoxLayout() mainLayout.addLayout(stackedLayout) setLayout(mainLayout)
QStackedLayout没有提供用户切换页面的内在方法。这通常通过一个存储QStackedLayout页面标题的QComboBox或QListWidget来完成。例如:pageComboBox = QComboBox() pageComboBox.addItem(tr("Page 1")) pageComboBox.addItem(tr("Page 2")) pageComboBox.addItem(tr("Page 3")) pageComboBox.activated.connect( stackedLayout.setCurrentIndex)
在填充布局时,小部件被添加到一个内部列表中。
indexOf()函数返回小部件在该列表中的索引。小部件可以使用addWidget()函数添加到列表的末尾,或者使用insertWidget()函数插入到给定的索引位置。removeWidget()函数从布局中移除给定索引处的小部件。布局中包含的小部件数量可以使用count()函数获取。widget()函数返回给定索引位置的小部件。屏幕上显示的小部件的索引由currentIndex()给出,并且可以使用setCurrentIndex()进行更改。同样,可以使用currentWidget()函数检索当前显示的小部件,并使用setCurrentWidget()函数进行更改。每当布局中的当前小部件发生变化或从小部件中移除时,
currentChanged()和widgetRemoved()信号会分别发出。另请参阅
- class StackingMode¶
此枚举指定布局如何处理其子小部件的可见性。
常量
描述
QStackedLayout.StackOne
只有当前的小部件可见。这是默认设置。
QStackedLayout.StackAll
所有小部件都可见。当前小部件只是被提升。
注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property currentIndexᅟ: int¶
此属性保存可见小部件的索引位置。
如果没有当前的小部件,当前索引为-1。
另请参阅
- Access functions:
- property stackingModeᅟ: QStackedLayout.StackingMode¶
此属性决定了子小部件的可见性处理方式。
默认值为
StackOne。将属性设置为StackAll允许您利用布局来处理在其他小部件之上进行额外绘制的覆盖小部件,例如图形编辑器。- Access functions:
- __init__()¶
构造一个没有父级的
QStackedLayout。这个
QStackedLayout必须稍后安装在一个小部件上才能生效。另请参阅
addWidget()insertWidget()- __init__(parentLayout)
- Parameters:
parentLayout –
QLayout
构造一个新的
QStackedLayout并将其插入到给定的parentLayout中。- __init__(parent)
- Parameters:
父级 –
QWidget
使用给定的
parent构造一个新的QStackedLayout。此布局将安装在
parent小部件上,并管理其子部件的几何形状。- currentChanged(index)¶
- Parameters:
索引 – int
每当布局中的当前小部件发生变化时,都会发出此信号。
index指定新当前小部件的索引,如果没有新的小部件(例如,如果QStackedLayout中没有小部件),则为 -1。属性
currentIndexᅟ的通知信号。- currentIndex()¶
- Return type:
整数
另请参阅
属性
currentIndexᅟ的获取器。返回当前的小部件,如果此布局中没有小部件,则返回
None。在此
QStackedLayout中的给定index处插入给定的widget。如果index超出范围,则小部件将被追加(在这种情况下,返回的是widget的实际索引)。如果在调用此函数之前
QStackedLayout为空,则给定的widget将成为当前的小部件。在小于或等于当前索引的位置插入新小部件将增加当前索引,但保留当前小部件。
另请参阅
addWidget()removeWidget()setCurrentWidget()- setCurrentIndex(index)¶
- Parameters:
索引 – int
另请参阅
属性
currentIndexᅟ的设置器。将当前小部件设置为指定的
widget。新的当前小部件必须已经包含在此堆叠布局中。- setStackingMode(stackingMode)¶
- Parameters:
stackingMode –
StackingMode
另请参阅
属性
stackingModeᅟ的设置器。- stackingMode()¶
- Return type:
另请参阅
属性
stackingModeᅟ的获取器。返回给定
index处的小部件,如果给定位置没有小部件,则返回None。另请参阅
- widgetRemoved(index)¶
- Parameters:
索引 – int
每当从布局中移除一个小部件时,就会发出此信号。小部件的
index作为参数传递。另请参阅