QT:TabWidget的使用
满满的好奇
2024年04月22日 16:57
收录于文集
共5篇

TabWidget的ui文件的设置界面如下:

QTabWidget属性编辑器界面

1.tabPosition-标签页方向

tabPoison选项

可以选择标签页的位置,其效果如下:

标签页位置的4种摆放方式

代码设置方法如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setTabPosition(QTabWidget::East);//或者WEST、NORTH、SOUTH
复制成功

2.tabShape-标签页形状

标签页形状选项

其效果如下:

Rounded(左)和Triangular(右)两种形式

代码设置方法如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setTabShape(QTabWidget::Triangular);//或Rounded
复制成功

3.currenindex-当前所在页面

这个其实就是当前在哪个界面,切换界面后会跟随变化;

切换页面代码如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setCurrentIndex(0);//括号里面的数字是索引值,从0开始,第一个界面是0,第二个是1,依次类推;
复制成功

4.iconSize-按键图标大小

这个是只有添加图标后才有用的,效果如下:

尺寸16*16时

尺寸100*100时

代码实现方法如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setIconSize(QSize(100,100));
复制成功

5.elideMode-省略模式

省略模式下拉菜单

ElideLeft省略左侧

ElideRight省略右侧

ElideMidle省略中间

ElideNone不省略,这时会有一个左右调整的按键出现

代码实现方法如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setElideMode(Qt::ElideNone);//或者elidelift、elideright、elidemiddle
复制成功

6.usesScrollButtons-是否使用滚动按钮

这里去除勾选,当标签页超出长度时,并不会出现滚动按钮(可依靠鼠标滚轮调整界面);

usesScrollButtons勾选状态

usesScrollButtons去除勾选状态

代码实现方式如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setUsesScrollButtons(true);//或者false
复制成功

7.documentMode-以文档形式呈现选项卡

documentMode不勾选(左)与勾选(右)对比

代码实现方式如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setDocumentMode(true);//或者false
复制成功

8.tabsCloseable-选项卡关闭使能

勾选后选项卡上会出现关闭的按键

代码实现方法如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setTabsClosable(true);//或者false
复制成功

9.moveable-拖动使能

勾选上可以前后拖动选项卡;

代码实现方法如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setMovable(true);//或者false
复制成功

10.tabBarAutoHide-选项卡自动隐藏

勾选后当选项卡只有一个标签页时,选项卡会自动隐藏;

tabBarAutoHide勾选前后对比

代码实现方法如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setTabBarAutoHide(true);//或者false
复制成功

11.currentTabText-当前选项卡文字

这里就是选项卡命名区;

代码实现方法如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setTabText(0,"tab_1");//setTabText(索引,选项卡文字)
复制成功

12.currentTabName-选项卡命名

这里不体现在界面上,是写代码的时候用来引用的名字;

13.currentTabIcon-当前选项卡图标

用来添加图标,点击下拉框可以直接在电脑里选择资源添加,但编译出来的程序要显示,得先把图片加到qrc文件里才能显示;

代码实现方法如下:

代码块
text/x-c++src
自动换行
复制代码
QIcon icon1(":/images/R-C.jpg");//图片地址
ui->tabWidget->setTabIcon(0,icon1);//索引和图标
复制成功

14.currentTabToolTip-提示信息

当鼠标悬停在选项卡一段时间,这里的信息会显示出来,效果如下:

提示信息效果图

代码实现方法如下:

代码块
text/x-c++src
自动换行
复制代码
ui->tabWidget->setTabToolTip(0,"这是提示");
复制成功

15.将其他界面插入到到tab里

方法1:addTab

默认添加到最后;

代码块
text/x-c++src
自动换行
复制代码
#include "form.h"

Form *form1=new Form;
ui->tabWidget->addTab(form1,"tab_1");
复制成功

方法2:insertTab

这种方法可以添加到任何位置;

代码块
text/x-c++src
自动换行
复制代码
#include "form.h"

Form *form1=new Form;
ui->tabWidget->insertTab(0,form1,"tab_1");//索引、要显示的界面、选项卡文字;
复制成功

16.删除选项卡

代码块
text/x-c++src
自动换行
复制代码
void MainWindow::on_tabWidget_tabCloseRequested(int index)
{
    ui->tabWidget->removeTab(index);
}
复制成功