- class QStackedLayout#
该
QStackedLayout
类提供一个堆叠的窗口部件,每次只显示一个窗口部件。更多…概要#
属性#
currentIndex
- 可见窗口部件的索引位置stackingMode
- 决定了子窗口部件的可见性处理方式
方法#
__init__()
currentIndex
currentWidget
insertWidget
定义
widget()
槽函数#
信号#
备注
此文档可能包含自动将 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
没有为用户提供切换页面的内建方法。通常通过一个QComboBox
或一个QListWidget
来实现,该部件存储QStackedLayout
页面的标题。例如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。
另请参阅
- property 堆叠模式ᅟ: QStackedLayout.StackingMode#
该属性决定了子部件可见性处理的方式。
默认值为
StackOne
。将属性设置为StackAll
可让您利用布局来覆盖具有其他小部件上额外绘制功能的小部件,例如图形编辑器。- __init__()#
使用没有父对象的
QStackedLayout
构造一个实例。This
QStackedLayout
必须稍后安装在一个小部件上才能生效。另请参阅
addWidget()
insertWidget()
- __init__(parentLayout)
- 参数:
parentLayout –
QLayout
构造一个新的
QStackedLayout
实例并将其插入到给定的parentLayout
中。- __init__(parent)
- 参数:
parent –
QWidget
使用指定的小部件
QStackedLayout
构造一个新实例。此布局将安装自身到父小部件并在其子部件上管理几何形状。
- currentChanged(index)#
- 参数:
index – int
每当布局中的当前小部件改变时,都会发出此信号。
index
指定新的当前小部件的索引,如果没有新的当前小部件(例如,如果在QStackedLayout
中没有小部件)则返回 -1。属性
currentIndex
的通知信号。- currentIndex()#
- 返回类型:
int
另请参阅
currentIndex
的获取器。返回当前小部件,如果在这个布局中没有小部件则返回
None
。在此
QStackedLayout
中在指定的index
处插入给定的小部件widget
。如果index
超出范围,则将小部件附加到列表中(在这种情况下,返回的小部件的索引是该小部件的实际索引)。如果在此函数被调用之前
QStackedLayout
是空的,给定的小部件将成为当前小部件。在小于或等于当前索引的位置插入新小部件将增加当前索引,但保持当前小部件。
另请参阅
addWidget()
removeWidget()
setCurrentWidget()
- setCurrentIndex(index)#
- 参数:
index – int
另请参阅
属性
currentIndexᅟ
的设置器。设置当前部件为指定的
widget
。新的当前部件必须已经包含在此堆叠布局中。- setStackingMode(stackingMode)#
- 参数:
stackingMode –
StackingMode
另请参阅
属性
stackingModeᅟ
的设置器。- stackingMode()#
- 返回类型:
另请参阅
属性
stackingModeᅟ
的获取器。返回指定
index
的部件,如果给定位置没有部件,则返回None
。另请参阅
- widgetRemoved(index)#
- 参数:
index – int
每当从布局中移除部件时,都会发出此信号。将部件的
index
作为参数传递。另请参阅