Только боковая панель QT TabBar - PullRequest
0 голосов
/ 06 июня 2018

Я добавил QTabWidget, который можно проверить.Я хочу скрыть все вкладки (только панели), когда TabBar снят, и наоборот.Есть ли способ сделать невидимой только панель, и панель вкладок не исчезнет?Я добавляю ссылку на изображение, относящуюся к тому, что я хочу, в выводе:

Первоначально обе панели вкладок свернуты, и когда я нажимаю на вкладку, она максимизируется:

enter image description here

после того, как клик на панели развернется, и снова я нажму на нее, чтобы свернуть, и наоборот:

enter image description here

1 Ответ

0 голосов
/ 06 июня 2018

Вместо использования 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);
}
...