赞
踩
1.头文件.h定义
QWidget* af;
2.在响应槽函数中添加增加&隐藏标签tab(这里我是通过复选框是否被选中来控制tab的个数)
double tabNum = ui.tabWidget->count();
if (ui.cbxDoubleModel->isChecked() == true)
{
//这里是初始化判断一下tab个数,个数为1才会添加标签,个数为2不会添加
if(tabNum == 1)
{
ui.tabWidget->insertTab(1, af, QString::fromStdWString(L"模板二"));
}
}
else
{
af = ui.tabWidget->widget(1); //目的是在标签1移除之前,先将其保存下来,否则不能恢复该标签
ui.tabWidget->removeTab(1);
}
法二:设置标签不可见+将标签设置透明色从而达到隐藏标签的目的
//隐藏标签1
ui.tabWidget->setTabEnabled(0,false);
ui.tabWidget->setTabEnabled(1,true);
ui.tabWidget->setStyleSheet("QTabBar::tab:disabled {width: 0; color: transparent;}");
//隐藏标签2
ui.tabWidget->setTabEnabled(0,true);
ui.tabWidget->setTabEnabled(1,false);
ui.tabWidget->setStyleSheet("QTabBar::tab:disabled {width: 0; color: transparent;}");
//全部隐藏标签
ui.tabWidget->setTabEnabled(0,false);
ui.tabWidget->setTabEnabled(1,false);
ui.tabWidget->setStyleSheet("QTabBar::tab:disabled {width: 0; color: transparent;}");
//全部显示标签
ui.tabWidget->setTabEnabled(0,true);
ui.tabWidget->setTabEnabled(1,true);
ui.tabWidget->setStyleSheet("QTabBar::tab:abled");
注:此外还有以下方法隐藏Tab标签:
ui.tabWidget->tabBar()->hide(); //整个tabbar隐藏掉
或
ui.tabWidget->findChildren<QTabBar*>().at(0)->hide();
效果展示
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。