假设我有一个包含5个子标签的QTabWidget。现在,我想通过以下代码
在5个子标签中的一个中显示/隐藏子标签ui->twListTabs->widget(0)->hide(); // Hide first sub-tab
但这对我不起作用。你有任何解决方案吗?
谢谢!
答案 0 :(得分:9)
您只能选择使用:
void QTabWidget::removeTab(int index)
您需要将指针存储到选项卡中的QWidget,以便以后可以插入它。
你可以,例如做类似的事情:
class TabWidget : public QTabWidget
{
Q_OBJECT
enum tabwidgets {tabwidget1,tabwidget2,...,number_of_tabwidgets};
QWidget* widgets_[number_of_tabwidgets];
public:
TabWidget(QWidget* parent=0)
: QWidget(parent)
{
for(int i(0);i<number_of_tabwidgets;++i)
{
switch(i)
{
case tabwidget1:
insertTab(i,widgets_[i]=new TabWidget1,QString::number(i));
....
}
}
}
};