仅限QT TabBar侧窗格

时间:2018-06-06 05:54:42

标签: c++ qt qt5 tabwidget

我添加了一个可检查的QTabWidget。我想在取消选中TabBar时隐藏所有选项卡(仅限窗格),反之亦然。有没有办法让只有窗格不可见,标签栏不会消失? 我在输出中添加了与我想要的相关的图像参考:

最初,两个选项卡窗格都是最小化的,当我单击选项卡时,它将最大化:

enter image description here

单击窗格后

最大化,再次单击它将最小化,反之亦然:

enter image description here

1 个答案:

答案 0 :(得分:0)

而不是使用QTabWidget。您可以使用QTabBar并实现隐藏相应小部件的功能。

这是qt creator

中新窗口小部件应用程序示例的示例代码
#include "MainWindow.h"
#include "ui_MainWindow.h"

#include <QTabBar>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    m_tabbar = new QTabBar(this->centralWidget());
    m_tabbar->addTab("Hello");
    m_tabbar->addTab("World");
    m_tabbar->setShape(QTabBar::RoundedWest);
    m_tabbar->setGeometry(0,0,this->height(), 200);


    connect(m_tabbar, SIGNAL(tabBarClicked(int)), this, SLOT(changedTab(int)));
}

MainWindow::~MainWindow()
{
    delete ui;
}


void
MainWindow::changedTab(int idx)
{
    m_tabbar->setCurrentIndex(idx);
    ui->stackedWidget->setCurrentIndex(idx);
}