StackedWidget堆叠窗口部件为一系列窗口部件的堆叠,对应类为QStackedWidget。QStackedWidget类对应部件为放在堆栈中的多个窗口部件,这些放在堆栈中的窗口部件在界面上只能看到一个窗口。html
在Designer中StackedWidget堆叠窗口部件很是简单,只有2个,以下:
除了这2个属性外,还有个未在Designer中设置的动态属性count。python
currentIndex属性保存堆叠窗口部件的当前窗口的索引。若是没有当前窗口,则当前索引为-1。默认状况下,此属性值为-1,由于堆最初为空。在Designer中,部件设计拖拽到页面时,会初始化2个页面,此时currentIndex初始值为0。web
能够经过currentIndex()和setCurrentIndex(int index)方法访问该属性,当当前页切换时,会发射currentChanged(int index)信号,参数为新的当前页索引。svg
StackedWidget堆叠窗口部件的currentPageName属性,在对应类QStackedWidget中并无该同名属性,实际上该属性是StackedWidget中当前页面窗口对应部件的名字,经过部件的objectName属性访问。.net
count属性保存了堆叠窗口部件中的窗口数量,能够使用count()访问。设计
能够使用addWidget和insertWidget方法在堆叠窗口部件部件中增长一个页面窗口,调用方法以下:xml
能够使用widget方法从堆叠窗口部件中取指定索引的堆叠窗实例对象,调用语法以下:htm
-QWidget widget(int index)对象
能够使用currentWidget方法获取当前页面窗口对象,调用语法以下:blog
能够使用indexOf方法取页面窗口对象在堆叠窗部件中的索引,调用语法:
能够使用removeWidget从堆叠窗部件中移除参数指定的对应页面窗口,调用语法以下:
除了从父类继承的信号外,QStackedWidget堆叠窗口部件只有两个信号:
QStackedWidget堆叠窗口部件建立后,能够使用addWidget()方法添加一个窗口到列表的末尾,也能够使用insertWidget()方法将窗口插入到给定的位置。能够使用removeWidget从堆叠窗部件中移除一个页面窗口。堆叠窗部件中的页面窗口数量使用count()方法获取。
屏幕上显示的窗口部件索引由currentIndex()给出,能够使用setCurrentIndex()进行更改。以相似的方式,能够使用currentWidget()获取当前显示的页面窗口部件,若是要更改当前页面窗口能够使用setCurrentWidget()方法进行更改。
每当堆叠窗口中的当前页面窗口更改或从堆叠窗口部件中移除页面窗口时,会分别发出currentChanged()和widgetRemoved()信号。
老猿关于PyQt的付费专栏《使用PyQt开发图形界面Python应用》只须要9.9元,该部分与第十五章的内容基本对应,但一样内容在付费专栏上整体来讲更详细、案例更多。本节内容对应付费专栏的《第二十八章、containers容器类部件QStackedWidget堆叠窗口部件详解》。若是有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。