内容表

上一话题

QStackedLayout

下一话题

QStatusBar

QStackedWidget

QStackedWidget class provides a stack of widgets where only one widget is visible at a time. 更多 …

Inheritance diagram of PySide2.QtWidgets.QStackedWidget

概要

函数

信号

详细描述

QStackedWidget can be used to create a user interface similar to the one provided by QTabWidget . It is a convenience layout widget built on top of the QStackedLayout 类。

像 QStackedLayout , QStackedWidget can be constructed and populated with a number of child widgets (“pages”):

firstPageWidget =  QWidget()
secondPageWidget =  QWidget()
thirdPageWidget =  QWidget()
stackedWidget =  QStackedWidget()
stackedWidget.addWidget(firstPageWidget)
stackedWidget.addWidget(secondPageWidget)
stackedWidget.addWidget(thirdPageWidget)
layout =  QVBoxLayout()
layout.addWidget(stackedWidget)
setLayout(layout)
											

QStackedWidget provides no intrinsic means for the user to switch page. This is typically done through a QComboBox 或 QListWidget that stores the titles of the QStackedWidget ‘s pages. For example:

pageComboBox = QComboBox()
pageComboBox.addItem(tr("Page 1"))
pageComboBox.addItem(tr("Page 2"))
pageComboBox.addItem(tr("Page 3"))
pageComboBox.activated[int].connect(stackedWidget.setCurrentIndex)
											

When populating a stacked widget, the widgets are added to an internal list. The indexOf() function returns the index of a widget in that list. The widgets can either be added to the end of the list using the addWidget() function, or inserted at a given index using the insertWidget() function. The removeWidget() function removes a widget from the stacked widget. The number of widgets contained in the stacked widget can be obtained using the count() 函数。

widget() function returns the widget at a given index position. The index of the widget that is shown on screen is given by currentIndex() and can be changed using setCurrentIndex() . In a similar manner, the currently shown widget can be retrieved using the currentWidget() function, and altered using the setCurrentWidget() 函数。

Whenever the current widget in the stacked widget changes or a widget is removed from the stacked widget, the currentChanged() and widgetRemoved() signals are emitted respectively.

class QStackedWidget ( [ parent=None ] )
param parent

QWidget

构造 QStackedWidget 采用给定 parent .

PySide2.QtWidgets.QStackedWidget. addWidget ( w )
参数

w – QWidget

返回类型

int

Appends the given widget 到 QStackedWidget and returns the index position. Ownership of widget 被传递给 QStackedWidget .

若 QStackedWidget is empty before this function is called, widget becomes the current widget.

PySide2.QtWidgets.QStackedWidget. count ( )
返回类型

int

PySide2.QtWidgets.QStackedWidget. currentChanged ( arg__1 )
参数

arg__1 – int

PySide2.QtWidgets.QStackedWidget. currentIndex ( )
返回类型

int

另请参阅

setCurrentIndex()

PySide2.QtWidgets.QStackedWidget. currentWidget ( )
返回类型

QWidget

返回当前 Widget,或 None 若没有子级 Widget。

PySide2.QtWidgets.QStackedWidget. indexOf ( arg__1 )
参数

arg__1 – QWidget

返回类型

int

返回索引为给定 widget , or -1 if the given widget is not a child of the QStackedWidget .

PySide2.QtWidgets.QStackedWidget. insertWidget ( index , w )
参数
返回类型

int

Inserts the given widget at the given index 在 QStackedWidget . Ownership of widget 被传递给 QStackedWidget 。若 index is out of range, the widget is appended (in which case it is the actual index of the widget that is returned).

若 QStackedWidget was empty before this function is called, the given widget becomes the current widget.

Inserting a new widget at an index less than or equal to the current index will increment the current index, but keep the current widget.

PySide2.QtWidgets.QStackedWidget. removeWidget ( w )
参数

w – QWidget

移除 widget 从 QStackedWidget . i.e., widget is not deleted but simply removed from the stacked layout, causing it to be hidden.

注意

Parent object and parent widget of widget will remain the QStackedWidget . If the application wants to reuse the removed widget , then it is recommended to re-parent it.

PySide2.QtWidgets.QStackedWidget. setCurrentIndex ( index )
参数

index – int

另请参阅

currentIndex()

PySide2.QtWidgets.QStackedWidget. setCurrentWidget ( w )
参数

w – QWidget

Sets the current widget to be the specified widget . The new current widget must already be contained in this stacked widget.

PySide2.QtWidgets.QStackedWidget. widget ( arg__1 )
参数

arg__1 – int

返回类型

QWidget

返回 Widget 在给定 index ,或 None 若没有这样的 Widget。

PySide2.QtWidgets.QStackedWidget. widgetRemoved ( index )
参数

index – int