wavelee

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 Windows Vista style tab widget.

A Macintosh style tab widget.

A Macintosh style tab widget.

A Fusion style tab widget.

A Fusion style tab widget.

转载请注明出处,本文链接地址:http://wavelee.info/2013/05/01/qtabwidget-class-introduction/

分类:

技术点:

相关文章: