QTabWidget隱藏某個TAB的方法
QTabWidget 中的tab,採用hide(),close(),setHidden(true),setVisible(false)等方式都無法隱藏tab。
可以通過以下方式隱藏。
ui->tabWidget->removeTab(0); //0表示除去第0個TAB。
如要隱藏多個TAB,序號需要從大到小。
假如不顯示TAB2,TB4,TAB6,代碼如下:
ui->tabWidget->removeTab(5);
ui->tabWidget->removeTab(3);
ui->tabWidget->removeTab(1);
實際結果爲:
還有一種方法:
先使用setTabEnabled()禁用需要隱藏的tab,然後調用setStyleSheet()將禁用的tab寬度設爲0,文字顏色設爲透明。
ui->tabWidget->setTabEnabled(index, false);
ui->tabWidget->setStyleSheet("QTabBar::tab:disabled {width: 0; color: transparent;}");
不過這種方法顯示效果不太好,也顯得複雜。
備註:實戰示例,解疑答惑。
--不間端地思考,實時地批判你的工作!