隐藏第二页:
ui->tabWidget->setTabEnabled(1, false);
ui->tabWidget->setStyleSheet("QTabBar::tab:disabled {width: 0; color: transparent;}");
显示第二页:
ui->tabWidget->setTabEnabled(1, true);
ui->tabWidget->setStyleSheet("QTabBar::tab:disabled {width: 20; color: transparent;}");
测试过程:
无论你是用获取tabwidget 的children 也好 tabbar* 都是间接获取到Qwidget*,
最后调用 .hide()都是没用的,折腾了好久,浪费时间,大可不必。
另外:
虽然tabwidget的removeTab(int index)实际没有删除这个tab对象,只是隐藏了而已。数据都是在的。
你可以通过remove前记录调用widget()获取某个页的指针,然后在想显示的时候把QWidget* 重新加进去是可以的。
不过,插入的时候 insertTab或者addTab也好,维护Index索引也是个问题,容易乱掉。
还有:
有人说用Qstackwidget+toolbar(或者普通按钮)模拟出来效果,可以实现,但是浪费时间。