QStackedWidget 类是在 QStackedLayout 之上构造的一个便利的部件,其使用方法与步骤和 QStackedLayout 是一样的。QStackedWidget 类的成员函数与 QStackedLayout 类也基本上是一致的,使用该类就和使用 QStackedLayout 一样。
使用该类可以参考QStackedLayout布局的使用链接:Qt常用基础控件总结—布局管理
QTabBar 类直接继承自 QWidget。该类提供了一个选项卡栏,该类仅提供了一个选项卡,并没有为每个选项卡提供相应的页面,因此要使选项卡栏实际可用,需要自行为每个选项卡设置需要显示的页面,可以通过 QStackedLayout 布局为选项卡提供页面,另外 Qt 也提
供了一个现成的选项卡部件 QTabWidget。
创建选项卡栏的步骤,如下:
QTabBar *pt = new QTabBar;
pt ->addTab("AAA");
pt->Tab("BBB");
运行结果如下:
1)autoHide:bool 访问函数:bool autoHide() const; void setAutoHide(bool); //qt5.4
若该属性为 true,则当选项卡少于 2 个(即只有 1 个)时会自动隐藏,默认为 false。
2)count:const int 访问函数:int count() const;
获取选项卡栏中的选项卡数量。
3)currentIndex:int 访问函数:int currentIndex() const; void setCurrentIndex(int); //槽
信号:void currentChanged(int index);
获取和设置选项卡栏上当前选项卡(即可见选项卡)的索引,若没有当前选项卡,则索引为−1。此属性的槽函数 setCurrentIndex 是个重要的函数。
4)drawBase:bool 访问函数:bool drawBase() const; void setDrawBase(bool);
此属性描述是否绘制选项卡的基线,若为 true,则绘制基线(效果见下图)
5)elideMode:Qt::TextElideMode
访问函数:Qt::TextElideMode elideMode() const; void setElideMode(Qt::TextElideMode);
此属性描述如何省略选项卡中的文本(如下图)。
Qt::TextElideMode 枚举见公用枚举章节
6)expanding:bool 访问函数:bool expanding() const; void setExpanding(bool);
此属性描述是否扩展选项卡,默认为 true。效果见下图
7)iconSize:QSize 访问函数:QSize iconSize() const; void setIconSize(const QSize&);
此属性描述选项卡栏中保存的图标大小。
8)movable:bool 访问函数:bool movable() const; void setMovable(bool);
此属性描述用户是否可以移动选项卡区域内的选项卡。默认为 false。
9)selectionBehaviorOnRemove:SelectionBehavior
访问函数:SelectionBehavior selectionBehaviorOnRemove() const;
void setSelectionBehaviorOnRemove(SelectionBehavior);
当使用 removeTab()删除的选项卡是当前选项卡时,应将哪个选项卡设置为当前选项卡。默认为 SelectRightTab。SelectionBehavior 枚举见下表
10)shape:Shape 访问函数:Shpae shpae() const; void setShape(Shape);
此属性描述选项卡栏中选项卡的形状。形状由 Shape 枚举描述,见下表及图
11)tabsClosable:bool 访问函数:bool tabsClosable() const; void setTabsClosable(bool);
此属性描述是否应在每个选项卡上放置关闭按钮。若该属性为true,则关闭按钮出现在左侧或右侧依样式而定。当点关闭按
钮被点击时发送 tabCloseRequested 信号。默认为 false。
12)usesScrollButtons:bool
访问函数:bool usesScrollButtons() const; void setUsesScrollButtons(bool);
此属性描述,当选项卡太多时,是否使用滚