QTabWidget类提供了一堆选项卡式窗口部件。
一个选项卡部件提供了一个标签栏(见QTabBar)和一个“页面区”,用于显示与每个选项卡页面。默认情况下,标签栏显示在页面区上方,但是可以使用配置改变这种默认方式(见TabPosition)。每个选项卡都是关联到一个不同的窗口小部件(页面)。只有当前页显示在页面区域;所有其他页面都是隐藏的。用户可以显示不同的页面通过点击它的选项卡或按其Alt +字母快捷如果它有一个。用户可以使用Tab键来选择不同的页面,或者如果选项卡有快捷键也可以使用快捷键(Alt + 字母)来选择。
正常使用QTabWidget 的方法是按如下步骤:
1、创建一个QTabWidget对象。
2、为选项卡对象中为每个页面创建QWidget对象(页面对象)。注意为QWidget对象指定父对象指针。
3、把子部件插入到页面部件中去,并使用布局管理器管理这些部件。
4、调用addTab()或者insertTab()把页面对象放置到选项卡对象中去,给每个标签设置合适的标签名和一个可选的键盘快捷方式。
标签的位置被tabPosition属性定义,标签的位置的形状被tabShape定义。
当用户选择一个页面时,currentChanged()信号就别发射。
我们可以使用currentIndex()和currentWidget()分别来获取当前页面的索引和当前的窗口部件。为了获取某个页面的指针,我们可以通过widget()函数来获取,此外,我们还可以通过indexOf()函数来获取当前位置的下一个位置的页面的指针。我们可以使用setCurrentIndex setCurrentWidget()或()来显示一个指定的页面。
我们可以使用setTabText()或者setTabIcon()来改变标签文本和图标。可以使用removeTab()来删除某个选项卡及其相关的页面。
在任何给定的时间,每个选项卡都是要么启用或者禁用(见setTabEnabled())。如果启用一个标签,那么该标签的文字是以正常显示的,用户可以选择该选项卡。如果标签被禁用,那么该标签的文字是另一种方式显示来提醒用户不能选择该选项卡。值得注意的是,即使一个选项卡被禁用,该选项卡对应的页面仍然是可间的,例如如果所有的标签碰巧被禁用。
对于复杂的对话框,选项卡对话框提供了一个非常好的分解方法;另外一种方法是使用QStackedWidget,这个类提供了在一些页面之间导航的方法。例如:一个QToolBar或QListWidget就提供了这种功能。
QTabWidget的大部分功能是由QTabBar(在最顶端,提供标签)和QStackedWidget(大部分区域,组成一个独立的页面)提供的。
QTabWidget在不同风格下显示是不一样的:
A Windows Vista style tab widget.
A Macintosh style tab widget.
A Fusion style tab widget.
转载请注明出处,本文链接地址:http://wavelee.info/2013/05/01/qtabwidget-class-introduction/