一、前言
QTabWidget类继承于QWidget,是一个拥有选项卡的窗口部件。
QTabWidget类有一个选项卡栏QTabBar和一个页面区域,用来显示和选项卡相关联的界面。用户通过点击选项卡或者自定义快捷方式(ALT+Key)切换页面。
二、QTabWidget类
1、count
该属性表示当前选项卡的数量。
int count() const
2、currentIndex
该属性表示当前选项卡的索引,下标从0开始,如果没有部件则返回-1。
int currentIndex() const
void setCurrentIndex(int index)
3、documentMode
该属性表示选项卡栏是否设置为文档模式,默认禁用。这与macOS上的文档模式相同。启用时,不会呈现选项卡部件框架,即选项卡页面和其后的窗口等页面无框架区分看起来是一个整体。此模式对于页面需要显示文档类型的情况非常有用,因为节省了选项卡部件框架占用的部分空间。
bool documentMode() const
void setDocumentMode(bool set)
![](https://i-blog.csdnimg.cn/blog_migrate/f71020082769e9dd2af7ed228ad1a7aa.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2da0d13e31f3659221d4271023ac0f39.png)
4、elideMode
该属性表示在没有足够的空间显示给定选项卡栏大小的时候如何省略内容的策略。
Qt::TextElideMode elideMode() const
void setElideMode(Qt::TextElideMode mode)
定义 描述 Qt::ElideLeft 省略号应该出现在文本的开头 Qt::ElideRight 省略号应该出现在文本的末尾 Qt::ElideMiddle 省略号应该出现在文本的中间 Qt::ElideNone 省略号不应该出现在文本中。
![](https://i-blog.csdnimg.cn/blog_migrate/b8125c38a7805c9b9a0a58adc2f70c66.png)
6、iconSize
该属性表示选项卡标签的图标最大尺寸,图标原尺寸太大会被压缩,太小不会被放大。
QSize iconSize() const
void setIconSize(const QSize &size)
7、movable
该属性表示是否可以移动选项卡,默认选项卡是不可移动的。
bool isMovable() const
void setMovable(bool movable)
8、tabBarAutoHide
该属性表示当选项卡栏包含少于2个选项卡时,选项卡栏是否自动隐藏,默认不隐藏。
bool tabBarAutoHide() const
void setTabBarAutoHide(bool enabled)
9、tabPosition
该属性表示选项卡的位置,默认QTabWidget::North,在上方。
QTabWidget::TabPosition tabPosition() const
void setTabPosition(QTabWidget::TabPosition position)
定义 描述 QTabWidget::North 选项卡绘制在页面的上面 QTabWidget::South 选项卡绘制在页面的下面 QTabWidget::West 选项卡绘制在页面的左侧 QTabWidget::East 选项卡绘制在页面的右侧
![](https://i-blog.csdnimg.cn/blog_migrate/cffd10d5570d7bca3ec9b7d5b727125d.png)
10、tabShape
该属性表示选项卡角的形状,默认QTabWidget::Rounded圆角。
QTabWidget::TabShape tabShape() const
void setTabShape(QTabWidget::TabShape s)
定义 描述 QTabWidget::Rounded 选项卡以圆形外观绘制 QTabWidget::Triangular 选项卡以三角形外观绘制
![](https://i-blog.csdnimg.cn/blog_migrate/4326a5ff2939a3b2dec0851370bee522.png)
11、tabsClosable
该属性表示选项卡栏是否应该在每个选项卡上放置关闭按钮。
bool tabsClosable() const
void setTabsClosable(bool closeable)
12、usesScrollButtons
该属性表示,选项卡显示不下的时候是否使用按钮来滚动选项卡。
bool usesScrollButtons() const
void setUsesScrollButtons(bool useButtons)
13、公共函数
1)addTab
新增选项卡、页面、标签和图标,返回选项卡的索引。
如果标签包含“&”,那么将启用“ALT+Key”快捷方式,快速打开某选项卡。
如果动态添加选项卡,需要先把setUpdatesEnabled设置为false,更新完成之后在设置为true,防止出现界面闪烁的情况。
int addTab(QWidget *page, const QString &label)
int addTab(QWidget *page, const QIcon &icon, const QString &label)
2)insertTab
插入选项卡、页面、标签和图标,如果超出范围插入到尾部,返回选项卡的实际索引。其他注意事项参考addTab。
int insertTab(int index, QWidget *page, const QString &label)
int insertTab(int index, QWidget *page, const QIcon &icon, const QString &label)
3)removeTab
从选项卡中移除小部件,小部件本身不会被删除。
void removeTab(int index)
4)clear
移除全部小部件。
void clear()
5)currentWidget
返回当前页面显示的部件,如果选项卡为空,则返回nullptr。
QWidget *currentWidget() const
6)setCurrentWidget
设置当前要显示的部件,传入的指针必须为有效值。
void setCurrentWidget(QWidget *widget)
7)setCornerWidget
设置角部件,防止在选项卡旁边,基于选项卡的方向tabPosition赋值。
void setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner)
定义 描述 Qt::TopLeftCorner 矩形的左上角。 Qt::TopRightCorner 矩形的右上角。 Qt::BottomLeftCorner 矩形的左下角。 Qt::BottomRightCorner 矩形的右下角。
![](https://i-blog.csdnimg.cn/blog_migrate/1e5565a694264d7f046cad48f2439780.png)
8)cornerWidget
返回角部件方向。
QWidget *cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const
9)indexOf
查找某部件指针,返回选项卡索引,不存在则返回-1。
int indexOf(QWidget *w) const
10)widget
查找某部件选项卡索引,返回小部件指针,不存在返回nullptr。
QWidget *widget(int index) const
11)setTabEnable
设置某选项卡使能,设置为false将不可选中显示部件,如果全部选项都是false,那么将显示其中的一个。
void setTabEnabled(int index, bool enable)
![](https://i-blog.csdnimg.cn/blog_migrate/e6cc177e59067b0f0c9d013de06f8e26.png)
12)isTabEnabled
获取索引处index对应的选项使能。
bool isTabEnabled(int index) const
13)setTabIcon
设置索引index对应的选项卡图标。
void setTabIcon(int index, const QIcon &icon)
14)tabIcon
获取索引index对应的图标。
QIcon tabIcon(int index) const
15)setTabText
设置索引处index对应的选项卡文本。
void setTabText(int index, const QString &label)
16)tabText
获取索引处index对应的文本。
QString tabText(int index) const
17)setTabToolTip
设置索引处index对应的选项卡提示语。
void setTabToolTip(int index, const QString &label)
18)tabToolTip
获取索引处index对应的提示语。
QString tabToolTip(int index) const
19)setTabVisible
设置索引处index对应的选项卡是否隐藏。
void setTabVisible(int index, bool visible)
20)isTabVisible
获取索引处index对应的选项卡是否隐藏。
bool isTabVisible(int index) const
21)setTabWhatsThis
设置索引处index页面的“这是什么”帮助文本设置为文本。
void setTabWhatsThis(int index, const QString &text)
22)tabWhatsThis
获取索引index页面的帮助文本。
QString tabWhatsThis(int index) const
14、信号
1)currentChanged
页面切换触发。
void currentChanged(int index)
2)tabBarClicked
点击选项栏触发。
void tabBarClicked(int index)
3)tabBarDoubleClicked
双击选项栏触发。
void tabBarDoubleClicked(int index)
4)tabCloseRequested
选项栏关闭触发。
void tabCloseRequested(int index)