• PySide 模块
  • PySide.QtGui
  • 内容表

    上一话题

    QTabBar

    下一话题

    QSplitterHandle

    QStackedWidget

    概要

    函数

    信号

    详细描述

    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.

    class PySide.QtGui. QStackedWidget ( [ parent=None ] )
    参数: parent – PySide.QtGui.QWidget

    构造 PySide.QtGui.QStackedWidget 采用给定 parent .

    PySide.QtGui.QStackedWidget. addWidget ( w )
    参数: 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.QtGui.QStackedWidget. count ( )
    返回类型: PySide.QtCore.int

    This property holds the number of widgets contained by this stacked widget.

    默认情况下,此特性包含 0 值。

    PySide.QtGui.QStackedWidget. currentChanged ( arg__1 )
    参数: arg__1 – PySide.QtCore.int
    PySide.QtGui.QStackedWidget. currentIndex ( )
    返回类型: 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.QStackedWidget. currentWidget ( )
    返回类型: PySide.QtGui.QWidget

    Returns the current widget, or 0 if there are no child widgets.

    PySide.QtGui.QStackedWidget. indexOf ( arg__1 )
    参数: 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.QtGui.QStackedWidget. insertWidget ( index , w )
    参数:
    返回类型:

    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.

    PySide.QtGui.QStackedWidget. removeWidget ( w )
    参数: 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.

    PySide.QtGui.QStackedWidget. setCurrentIndex ( index )
    参数: 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.

    PySide.QtGui.QStackedWidget. setCurrentWidget ( w )
    参数: 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.

    PySide.QtGui.QStackedWidget. widget ( arg__1 )
    参数: arg__1 – PySide.QtCore.int
    返回类型: PySide.QtGui.QWidget

    返回 Widget 在给定 index , or 0 if there is no such widget.

    PySide.QtGui.QStackedWidget. widgetRemoved ( index )
    参数: index – PySide.QtCore.int