当前位置:   article > 正文

[Qt5&控件] 选项卡tabWidget控件隐藏&增加tab个数_隐藏qtabbar

隐藏qtabbar

法一:直接隐藏标签

1.头文件.h定义

QWidget* af;
  • 1

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

法二:设置标签不可见+将标签设置透明色从而达到隐藏标签的目的

//隐藏标签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");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

注:此外还有以下方法隐藏Tab标签:

ui.tabWidget->tabBar()->hide(); //整个tabbar隐藏掉

ui.tabWidget->findChildren<QTabBar*>().at(0)->hide();
  • 1
  • 2
  • 3

效果展示
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/962229
推荐阅读
相关标签
  

闽ICP备14008679号