[QtGui module]

该QStackedWidget类提供了一个堆叠部件,其中只有一个小部件是可见的时间的。More…

继承QFrame

Methods

  • __init__ (self, QWidget parent = None)
  • int addWidget (self, QWidget w)
  • int count (self)
  • int currentIndex (self)
  • QWidget currentWidget (self)
  • bool event (self, QEvent e)
  • int indexOf (self, QWidget)
  • int insertWidget (self, int index, QWidget w)
  • removeWidget (self, QWidget w)
  • setCurrentIndex (self, int index)
  • setCurrentWidget (self, QWidget w)
  • QWidget widget (self, int)

Special Methods

  • __len__ (self)

Qt Signals

  • void currentChanged (int)
  • void widgetRemoved (int)

Detailed Description

该QStackedWidget类提供了一个堆叠部件,其中只有一个小部件是可见的时间的。

QStackedWidget可以用来创建类似于通过提供一个用户接口QTabWidget。它是建立在顶部的便利布局小部件QStackedLayout类。

喜欢QStackedLayout, QStackedWidget可以构造并填充了一系列子控件( “页” )中:

  1. [QWidget](docs_qwidget.html) *firstPageWidget = new [QWidget](docs_qwidget.html);
  2. [QWidget](docs_qwidget.html) *secondPageWidget = new [QWidget](docs_qwidget.html);
  3. [QWidget](docs_qwidget.html) *thirdPageWidget = new [QWidget](docs_qwidget.html);
  4. QStackedWidget *stackedWidget = new QStackedWidget;
  5. stackedWidget->addWidget(firstPageWidget);
  6. stackedWidget->addWidget(secondPageWidget);
  7. stackedWidget->addWidget(thirdPageWidget);
  8. [QVBoxLayout](docs_qvboxlayout.html) *layout = new [QVBoxLayout](docs_qvboxlayout.html);
  9. layout->addWidget(stackedWidget);
  10. setLayout(layout);

QStackedWidget没有提供内在的手段来切换页面的用户。这通常是通过做QComboBoxQListWidget用于存储QStackedWidget的页面的标题。例如:

  1. [QComboBox](docs_qcombobox.html) *pageComboBox = new [QComboBox](docs_qcombobox.html);
  2. pageComboBox->addItem(tr("Page 1"));
  3. pageComboBox->addItem(tr("Page 2"));
  4. pageComboBox->addItem(tr("Page 3"));
  5. connect(pageComboBox, SIGNAL(activated(int)),
  6. stackedWidget, SLOT(setCurrentIndex(int)));

当填充堆叠部件,该部件被添加到内部列表。该indexOf( )函数返回在该列表中一个部件的指标。窗口小部件可以被使用添加到该列表的末尾的addWidget( )函数,或者使用插入一个给定索引处的insertWidget()函数。该removeWidget( )函数会移除堆叠部件一个部件。包含在堆叠部件的部件的数量,可使用所获得的count()函数。

widget( )函数返回的部件在给定的索引位置。这显示在屏幕上的小部件的指数由下式给出currentIndex() ,并且可以使用被改变setCurrentIndex( ) 。以类似的方式,将当前显示的窗口小部件可以使用被检索的currentWidget()函数,并使用改变了setCurrentWidget()函数。

每当当前部件的叠层部件的改变或一个部件被从堆叠的部件移除时,currentChanged()和widgetRemoved()信号被分别发射。


Method Documentation

  1. QStackedWidget.__init__ (self, QWidget parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个QStackedWidget用给定的parent

See also addWidget()和insertWidget( ) 。

  1. int QStackedWidget.addWidget (self, QWidget w)

w说法有它的所有权转移给Qt的。

添加给定的widgetQStackedWidget并返回索引位置。所有权widget到传递QStackedWidget

如果QStackedWidget为空,此函数被调用之前,widget成为当前窗口小部件。

See also insertWidget( )removeWidget()和setCurrentWidget( ) 。

  1. int QStackedWidget.count (self)
  1. int QStackedWidget.currentIndex (self)
  1. QWidget QStackedWidget.currentWidget (self)

[

返回当前窗口小部件,或者0 ,如果没有子控件。

](docs_qwidget.html)

See also currentIndex()和setCurrentWidget( ) 。

  1. bool QStackedWidget.event (self, QEvent e)

从重新实现QObject.event( ) 。

  1. int QStackedWidget.indexOf (self, QWidget)

返回给定索引widget,或-1,如果给定的widget不是的孩子QStackedWidget

See also currentIndex()和widget( ) 。

  1. int QStackedWidget.insertWidget (self, int index, QWidget w)

w说法有它的所有权转移给Qt的。

插入给定widget在给定的indexQStackedWidget。所有权widget到传递QStackedWidget。如果index超出范围时,widget追加(在这种情况下,它是实际的指数widget即返回) 。

如果QStackedWidget为空,此函数被调用之前,给定的widget成为当前窗口小部件。

插入一个新的widget指数小于或等于当前的索引处将增加当前索引,但保持当前的窗口小部件。

See also addWidget( )removeWidget()和setCurrentWidget( ) 。

  1. QStackedWidget.removeWidget (self, QWidget w)

移除widgetQStackedWidget。即,widget is not删除,但简单地从层叠布局除去,导致它被隐藏。

Note:所有权widget恢复到应用程序。

See also addWidget( )insertWidget()和currentWidget( ) 。

  1. QStackedWidget.setCurrentIndex (self, int index)

这种方法也是一个Qt槽与C + +的签名void setCurrentIndex(int)

  1. QStackedWidget.setCurrentWidget (self, QWidget w)

这种方法也是一个Qt槽与C + +的签名void setCurrentWidget(QWidget *)

设置当前窗口小部件被指定widget。新的当前窗口小部件必须已经包含在这个堆叠部件。

See also currentWidget()和setCurrentIndex( ) 。

  1. QWidget QStackedWidget.widget (self, int)

[

返回该插件在给定的index或0,如果不存在这样的窗口小部件。

](docs_qwidget.html)

See also currentWidget()和indexOf( ) 。

  1. QStackedWidget.__len__ (self)

Qt Signal Documentation

  1. void currentChanged (int)

这是该信号的默认超载。

这个信号被发射时的电流小窗口改变。

该参数保存index新的当前窗口小部件,或者为-1 ,如果没有一个新的(例如,如果没有部件在QStackedWidget) 。

See also currentWidget()和setCurrentWidget( ) 。

  1. void widgetRemoved (int)

这是该信号的默认超载。

每当一个部件被去除这个信号被发射。 widget的index作为参数传递。

See also removeWidget( ) 。