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可以填入一些子控件( “页” )的。例如:
[QWidget]($docs-qwidget.html) *firstPageWidget = new [QWidget]($docs-qwidget.html);
[QWidget]($docs-qwidget.html) *secondPageWidget = new [QWidget]($docs-qwidget.html);
[QWidget]($docs-qwidget.html) *thirdPageWidget = new [QWidget]($docs-qwidget.html);
QStackedLayout *stackedLayout = new QStackedLayout;
stackedLayout->addWidget(firstPageWidget);
stackedLayout->addWidget(secondPageWidget);
stackedLayout->addWidget(thirdPageWidget);
[QVBoxLayout](qvboxlayout.html) *mainLayout = new [QVBoxLayout](qvboxlayout.html);
mainLayout->addLayout(stackedLayout);
setLayout(mainLayout);
QStackedLayout没有提供内在的手段来切换页面的用户。这通常是通过做QComboBox或QListWidget用于存储QStackedLayout的页面的标题。例如:
[QComboBox]($docs-qcombobox.html) *pageComboBox = new [QComboBox]($docs-qcombobox.html);
pageComboBox->addItem(tr("Page 1"));
pageComboBox->addItem(tr("Page 2"));
pageComboBox->addItem(tr("Page 3"));
connect(pageComboBox, SIGNAL(activated(int)),
stackedLayout, SLOT(setCurrentIndex(int)));
当填充布局,窗口小部件添加到内部列表。该indexOf( )函数返回在该列表中一个部件的指标。窗口小部件可以被使用添加到该列表的末尾的addWidget( )函数,或者使用插入一个给定索引处的insertWidget()函数。该removeWidget( )函数移除插件的给定索引从布局的。包含在布局窗口小部件的数量,可使用所获得的count()函数。
该widget( )函数返回的部件在给定的索引位置。这显示在屏幕上的小部件的指数由下式给出currentIndex() ,并且可以使用被改变setCurrentIndex( ) 。以类似的方式,将当前显示的窗口小部件可以使用被检索的currentWidget()函数,并使用改变了setCurrentWidget()函数。
每当当前部件的布局的变化或窗口小部件是从布局中删除,则currentChanged()和widgetRemoved()信号被分别发射。
Type Documentation
QStackedLayout.StackingMode
这个枚举变量指定的布局如何处理其对自己的知名度子部件。
Constant | Value | Description |
---|---|---|
QStackedLayout.StackOne |
0 |
只在当前窗口小部件是可见的。这是默认的。 |
QStackedLayout.StackAll |
1 |
所有部件都是可见的。当前插件仅仅提高。 |
这个枚举被引入或修改的Qt 4.4 。
Method Documentation
QStackedLayout.__init__ (self)
构造一个QStackedLayout没有父。
This QStackedLayout必须安装在稍后一个部件才能生效。
See also addWidget()和insertWidget( ) 。
QStackedLayout.__init__ (self, QWidget parent)
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个新的QStackedLayout用给定的parent。
这种布局将在自行安装parent小工具和管理其子的几何形状。
QStackedLayout.__init__ (self, QLayout parentLayout)
该parentLayout的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个新的QStackedLayout并将其插入到给定的parentLayout。
QStackedLayout.addItem (self, QLayoutItem item)
该item说法有它的所有权转移给Qt的。
从重新实现QLayout.addItem( ) 。
int QStackedLayout.addWidget (self, QWidget w)
该w说法有它的所有权转移给Qt的。
将给定widget这一布局的结尾,并返回的索引位置widget。
如果QStackedLayout为空,此函数被调用之前,给定的widget成为当前窗口小部件。
See also insertWidget( )removeWidget()和setCurrentWidget( ) 。
int QStackedLayout.count (self)
int QStackedLayout.currentIndex (self)
QWidget QStackedLayout.currentWidget (self)
[
返回当前窗口小部件,或者0 ,如果有这个布局没有任何部件。
]($docs-qwidget.html)
See also currentIndex()和setCurrentWidget( ) 。
int QStackedLayout.insertWidget (self, int index, QWidget w)
该w说法有它的所有权转移给Qt的。
插入给定widget在给定的index在这QStackedLayout。如果index超出范围,小部件被追加(在这种情况下,它是实际的指数widget即返回) 。
如果QStackedLayout为空,此函数被调用之前,给定的widget成为当前窗口小部件。
插入一个新的widget指数小于或等于当前的索引处将增加当前索引,但保持当前的窗口小部件。
See also addWidget( )removeWidget()和setCurrentWidget( ) 。
QLayoutItem QStackedLayout.itemAt (self, int)
从重新实现QLayout.itemAt( ) 。
QSize QStackedLayout.minimumSize (self)
从重新实现QLayoutItem.minimumSize( ) 。
QStackedLayout.setCurrentIndex (self, int index)
这种方法也是一个Qt槽与C + +的签名void setCurrentIndex(int)
。
QStackedLayout.setCurrentWidget (self, QWidget w)
这种方法也是一个Qt槽与C + +的签名void setCurrentWidget(QWidget *)
。
设置当前窗口小部件被指定widget。新的当前窗口小部件必须已经包含在这个堆叠布局。
See also setCurrentIndex()和currentWidget( ) 。
QStackedLayout.setGeometry (self, QRect rect)
从重新实现QLayoutItem.setGeometry( ) 。
QStackedLayout.setStackingMode (self, StackingMode stackingMode)
QSize QStackedLayout.sizeHint (self)
从重新实现QLayoutItem.sizeHint( ) 。
StackingMode QStackedLayout.stackingMode (self)
QLayoutItem QStackedLayout.takeAt (self, int)
[
该QLayoutItem结果
]($docs-qlayoutitem.html)
从重新实现QLayout.takeAt( ) 。
QWidget QStackedLayout.widget (self, int)
[
返回该插件在给定的index或0 ,如果没有插件在给定的位置上。
]($docs-qwidget.html)
See also currentWidget()和indexOf( ) 。
QWidget QStackedLayout.widget (self)
[
Qt Signal Documentation
void currentChanged (int)
这是该信号的默认超载。
]($docs-qwidget.html)
这个信号被发射时的电流小部件在布局中的变化。该index指定新的当前部件的索引,或者-1,如果没有一个新的(例如,如果没有部件在QStackedLayout)
See also currentWidget()和setCurrentWidget( ) 。
void widgetRemoved (int)
这是该信号的默认超载。
每当一个部件被从布局中删除这个信号被发射。 widget的index作为参数传递。
See also removeWidget( ) 。