Qt基础控件总结—多页面切换(QStackWidget类、QTabBar类和QTabWidget类)

发布于:2024-07-11 ⋅ 阅读:(23) ⋅ 点赞:(0)

QStackedWidget 类

QStackedWidget 类是在 QStackedLayout 之上构造的一个便利的部件,其使用方法与步骤和 QStackedLayout 是一样的。QStackedWidget 类的成员函数与 QStackedLayout 类也基本上是一致的,使用该类就和使用 QStackedLayout 一样。

使用该类可以参考QStackedLayout布局的使用链接:Qt常用基础控件总结—布局管理

QTabBar类

QTabBar 类直接继承自 QWidget。该类提供了一个选项卡栏,该类仅提供了一个选项卡,并没有为每个选项卡提供相应的页面,因此要使选项卡栏实际可用,需要自行为每个选项卡设置需要显示的页面,可以通过 QStackedLayout 布局为选项卡提供页面,另外 Qt 也提
供了一个现成的选项卡部件 QTabWidget。

创建选项卡栏的步骤,如下:

QTabBar *pt = new QTabBar;
 pt ->addTab("AAA"); 
 pt->Tab("BBB");

运行结果如下:
在这里插入图片描述

QTabBar 类的属性函数

在这里插入图片描述
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);
此属性描述是否扩展选项卡,默认