PySide.QtGui.QStackedWidget class provides a stack of widgets where only one widget is visible at a time.
PySide.QtGui.QStackedWidget can be used to create a user interface similar to the one provided by PySide.QtGui.QTabWidget . It is a convenience layout widget built on top of the PySide.QtGui.QStackedLayout 类。
像 PySide.QtGui.QStackedLayout , PySide.QtGui.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)
PySide.QtGui.QStackedWidget provides no intrinsic means for the user to switch page. This is typically done through a PySide.QtGui.QComboBox 或 PySide.QtGui.QListWidget that stores the titles of the PySide.QtGui.QStackedWidget ‘s pages. For example:
pageComboBox = QComboBox()
pageComboBox.addItem(tr("Page 1"))
pageComboBox.addItem(tr("Page 2"))
pageComboBox.addItem(tr("Page 3"))
connect(pageComboBox, SIGNAL("activated(int)"),
stackedWidget, SLOT("setCurrentIndex(int)"))
When populating a stacked widget, the widgets are added to an internal list. The PySide.QtGui.QStackedWidget.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 PySide.QtGui.QStackedWidget.addWidget() function, or inserted at a given index using the PySide.QtGui.QStackedWidget.insertWidget() function. The PySide.QtGui.QStackedWidget.removeWidget() function removes a widget from the stacked widget. The number of widgets contained in the stacked widget, can be obtained using the PySide.QtGui.QStackedWidget.count() 函数。
PySide.QtGui.QStackedWidget.widget() function returns the widget at a given index position. The index of the widget that is shown on screen is given by PySide.QtGui.QStackedWidget.currentIndex() and can be changed using PySide.QtGui.QStackedWidget.setCurrentIndex() . In a similar manner, the currently shown widget can be retrieved using the PySide.QtGui.QStackedWidget.currentWidget() function, and altered using the PySide.QtGui.QStackedWidget.setCurrentWidget() 函数。
Whenever the current widget in the stacked widget changes or a widget is removed from the stacked widget, the PySide.QtGui.QStackedWidget.currentChanged() and PySide.QtGui.QStackedWidget.widgetRemoved() signals are emitted respectively.
另请参阅
PySide.QtGui.QStackedLayout PySide.QtGui.QTabWidget Config Dialog Example
| 参数: | parent – PySide.QtGui.QWidget |
|---|
构造 PySide.QtGui.QStackedWidget 采用给定 parent .
| 参数: | w – PySide.QtGui.QWidget |
|---|---|
| 返回类型: | PySide.QtCore.int |
Appends the given widget 到 PySide.QtGui.QStackedWidget and returns the index position. Ownership of widget 被传递给 PySide.QtGui.QStackedWidget .
若 PySide.QtGui.QStackedWidget is empty before this function is called, widget becomes the current widget.
| 返回类型: | PySide.QtCore.int |
|---|
This property holds the number of widgets contained by this stacked widget.
默认情况下,此特性包含 0 值。
| 参数: | arg__1 – PySide.QtCore.int |
|---|
| 返回类型: | PySide.QtCore.int |
|---|
This property holds the index position of the widget that is visible.
当前索引为 -1,若没有当前 Widget。
By default, this property contains a value of -1 because the stack is initially empty.
| 返回类型: | PySide.QtGui.QWidget |
|---|
Returns the current widget, or 0 if there are no child widgets.
| 参数: | arg__1 – PySide.QtGui.QWidget |
|---|---|
| 返回类型: | PySide.QtCore.int |
返回索引为给定 widget , or -1 if the given widget is not a child of the PySide.QtGui.QStackedWidget .
| 参数: |
|
|---|---|
| 返回类型: |
PySide.QtCore.int |
Inserts the given widget at the given index 在 PySide.QtGui.QStackedWidget . Ownership of widget 被传递给 PySide.QtGui.QStackedWidget 。若 index is out of range, the widget is appended (in which case it is the actual index of the widget that is returned).
若 PySide.QtGui.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.
| 参数: | w – PySide.QtGui.QWidget |
|---|
移除 widget 从 PySide.QtGui.QStackedWidget . i.e., widget is not deleted but simply removed from the stacked layout, causing it to be hidden.
注意
Ownership of widget reverts to the application.
| 参数: | index – PySide.QtCore.int |
|---|
This property holds the index position of the widget that is visible.
当前索引为 -1,若没有当前 Widget。
By default, this property contains a value of -1 because the stack is initially empty.
| 参数: | w – PySide.QtGui.QWidget |
|---|
Sets the current widget to be the specified widget . The new current widget must already be contained in this stacked widget.
| 参数: | arg__1 – PySide.QtCore.int |
|---|---|
| 返回类型: | PySide.QtGui.QWidget |
返回 Widget 在给定 index , or 0 if there is no such widget.
| 参数: | index – PySide.QtCore.int |
|---|