QTabWidget上的“显示/隐藏"子选项卡 [英] Show/Hide sub-tab on QTabWidget

查看:2114
本文介绍了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));
                ....
            }
        }
    }
};

这篇关于QTabWidget上的“显示/隐藏"子选项卡的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆