QStackedLayout Class Reference

[QtGui module]

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

继承QLayout

Types

  • enum StackingMode { StackOne, StackAll }

Methods

  • __init__ (self)
  • __init__ (self, QWidget parent)
  • __init__ (self, QLayout parentLayout)
  • addItem (self, QLayoutItem item)
  • int addWidget (self, QWidget w)
  • int count (self)
  • int currentIndex (self)
  • QWidget currentWidget (self)
  • int insertWidget (self, int index, QWidget w)
  • QLayoutItem itemAt (self, int)
  • QSize minimumSize (self)
  • setCurrentIndex (self, int index)
  • setCurrentWidget (self, QWidget w)
  • setGeometry (self, QRect rect)
  • setStackingMode (self, StackingMode stackingMode)
  • QSize sizeHint (self)
  • StackingMode stackingMode (self)
  • QLayoutItem takeAt (self, int)
  • QWidget widget (self, int)
  • QWidget widget (self)

Qt Signals

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

Detailed Description

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

QStackedLayout可以用来创建类似于通过提供一个用户接口QTabWidget。还有一个方便QStackedWidget类建立在QStackedLayout之上。

一个QStackedLayout可以填入一些子控件( “页” )的。例如:

  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. QStackedLayout *stackedLayout = new QStackedLayout;
  5. stackedLayout->addWidget(firstPageWidget);
  6. stackedLayout->addWidget(secondPageWidget);
  7. stackedLayout->addWidget(thirdPageWidget);
  8. [QVBoxLayout](qvboxlayout.html) *mainLayout = new [QVBoxLayout](qvboxlayout.html);
  9. mainLayout->addLayout(stackedLayout);
  10. setLayout(mainLayout);

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

  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. stackedLayout, SLOT(setCurrentIndex(int)));

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

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

每当当前部件的布局的变化或窗口小部件是从布局中删除,则currentChanged()和widgetRemoved()信号被分别发射。


Type Documentation

  1. QStackedLayout.StackingMode

这个枚举变量指定的布局如何处理其对自己的知名度子部件。

Constant Value Description
QStackedLayout.StackOne 0 只在当前窗口小部件是可见的。这是默认的。
QStackedLayout.StackAll 1 所有部件都是可见的。当前插件仅仅提高。

这个枚举被引入或修改的Qt 4.4 。


Method Documentation

  1. QStackedLayout.__init__ (self)

构造一个QStackedLayout没有父。

This QStackedLayout必须安装在稍后一个部件才能生效。

See also addWidget()和insertWidget( ) 。

  1. QStackedLayout.__init__ (self, QWidget parent)

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

构造一个新的QStackedLayout用给定的parent

这种布局将在自行安装parent小工具和管理其子的几何形状。

  1. QStackedLayout.__init__ (self, QLayout parentLayout)

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

构造一个新的QStackedLayout并将其插入到给定的parentLayout

  1. QStackedLayout.addItem (self, QLayoutItem item)

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

从重新实现QLayout.addItem( ) 。

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

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

将给定widget这一布局的结尾,并返回的索引位置widget

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

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

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

[

返回当前窗口小部件,或者0 ,如果有这个布局没有任何部件。

]($docs-qwidget.html)

See also currentIndex()和setCurrentWidget( ) 。

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

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

插入给定widget在给定的index在这QStackedLayout。如果index超出范围,小部件被追加(在这种情况下,它是实际的指数widget即返回) 。

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

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

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

  1. QLayoutItem QStackedLayout.itemAt (self, int)

从重新实现QLayout.itemAt( ) 。

  1. QSize QStackedLayout.minimumSize (self)

从重新实现QLayoutItem.minimumSize( ) 。

  1. QStackedLayout.setCurrentIndex (self, int index)

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

  1. QStackedLayout.setCurrentWidget (self, QWidget w)

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

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

See also setCurrentIndex()和currentWidget( ) 。

  1. QStackedLayout.setGeometry (self, QRect rect)

从重新实现QLayoutItem.setGeometry( ) 。

  1. QStackedLayout.setStackingMode (self, StackingMode stackingMode)
  1. QSize QStackedLayout.sizeHint (self)

从重新实现QLayoutItem.sizeHint( ) 。

  1. StackingMode QStackedLayout.stackingMode (self)

  1. QLayoutItem QStackedLayout.takeAt (self, int)

[

QLayoutItem结果

]($docs-qlayoutitem.html)

从重新实现QLayout.takeAt( ) 。

  1. QWidget QStackedLayout.widget (self, int)

[

返回该插件在给定的index或0 ,如果没有插件在给定的位置上。

]($docs-qwidget.html)

See also currentWidget()和indexOf( ) 。

  1. QWidget QStackedLayout.widget (self)

[


Qt Signal Documentation

  1. void currentChanged (int)

这是该信号的默认超载。

]($docs-qwidget.html)

这个信号被发射时的电流小部件在布局中的变化。该index指定新的当前部件的索引,或者-1,如果没有一个新的(例如,如果没有部件在QStackedLayout

See also currentWidget()和setCurrentWidget( ) 。

  1. void widgetRemoved (int)

这是该信号的默认超载。

每当一个部件被从布局中删除这个信号被发射。 widget的index作为参数传递。

See also removeWidget( ) 。