QTabWidget上的“显示/隐藏"子选项卡
问题描述:
假设我有一个包含5个子选项卡的QTabWidget.现在,我想通过以下代码在5个子标签之一中显示/隐藏一个子标签
Assuming I have a QTabWidget that contains 5 sub-tabs. Now I want to show/hide a sub-tab in one of 5 sub-tabs by following code
ui->twListTabs->widget(0)->hide(); // Hide first sub-tab
但这对我不起作用.有什么解决办法吗?
But this didn’t work for me. Do you have any solutions?
谢谢!
答
您只能选择使用:
void QTabWidget::removeTab(int index)
您需要将指向QWidget的指针存储在选项卡中,以便以后可以将其插入.
You need to store the pointer to the QWidget in the tab so that you can later insert it.
您可以例如做类似的事情:
You could e.g. do something like:
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));
....
}
}
}
};