遺憾的是Qt並沒有對tab提供類似hide()或者setVisible()這樣的接口(查看源碼妳會發現tab並不是QWidget),那麽怎麽做呢?我的方案是這樣的:利用QTabWidget::setTabEnabled()接口與QSS來***同實現隱藏tab。
setTabEnabled()很容易理解,可以在不需要使用某些tab時將其禁用掉。但是禁用掉tab並不會使其隱藏,這時就需要QSS出馬了。QSS實際上也不能隱藏tab,但它可以把處於禁用狀態的tab寬度設為0,同時將文字顏色設為透明,然後就看不到這個tab了,這樣就間接達到了隱藏的目的。