QTabWidget隐藏某个TAB的方法(QT技巧系列16)

QTabWidget隐藏某个TAB的方法

 

QTabWidget 中的tab,采用hide(),close(),setHidden(true),setVisible(false)等方式都无法隐藏tab。

可以通过以下方式隐藏。

ui->tabWidget->removeTab(0);   //0表示除去第0个TAB。

如要隐藏多个TAB,序号需要从大到小

 

QTabWidget隐藏某个TAB的方法(QT技巧系列16)_第1张图片

假如不显示TAB2,TB4,TAB6,代码如下:

ui->tabWidget->removeTab(5);

ui->tabWidget->removeTab(3);

ui->tabWidget->removeTab(1);

实际结果为:

QTabWidget隐藏某个TAB的方法(QT技巧系列16)_第2张图片

还有一种方法:

先使用setTabEnabled()禁用需要隐藏的tab,然后调用setStyleSheet()将禁用的tab宽度设为0,文字颜色设为透明。

ui->tabWidget->setTabEnabled(index, false);

ui->tabWidget->setStyleSheet("QTabBar::tab:disabled {width: 0; color: transparent;}");

不过这种方法显示效果不太好,也显得复杂。


备注:实战示例,解疑答惑。

           --不间端地思考,实时地批判你的工作!

你可能感兴趣的:(QT/C++)