2

I'm going to create multiple tabs with multiple group box inside each tab like below.

 _______ ______
|              |            |
|  Tab1    |  Tab2   |
|              |______|_________________
|
|    Group Box 1
|   ------------------------------------
|
|
|    Group Box 2
|   ------------------------------------

How can I do this with QTabWidget and QGroupBox?

Edit

The code that I use for one group box in tab widget are:

QGroupbox * testGB = new QGroupbox("Group Box 1");
...
// create a test layout and add some widget to it
...
testGB.setLayout(testLayout);

QTabWidget * tab = new QTabWidget this;
tab->addTab(testGB, tr("Tab1"));  

But I don't know how to append another group box to Tab1

Ghasem Pahlavan
  • 661
  • 9
  • 20
  • Somethig [like this](http://www.poketcode.com/img/pyqt4/qtoolbox_change_item_position.png) you want? Here is the [QToolBox documentation](http://doc.qt.io/qt-4.8/qtoolbox.html). If not, please provide more information. – Mara Black Jan 07 '17 at 12:29
  • Thanks for reply. no, as I've shown in question, I want to create a tab with QTabWidget and append two group box (QGroupbox) to it's content. – Ghasem Pahlavan Jan 07 '17 at 13:53

1 Answers1

1

Maybe here's something useful for you.

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QVBoxLayout* lay=new QVBoxLayout;
    ui->centralWidget->setLayout(lay);
    QTabWidget* tab = new QTabWidget(this);
    lay->addWidget(tab);

    QWidget* w1=new QWidget(this);
    QVBoxLayout* lay1=new QVBoxLayout;
    lay1->setSizeConstraint(QLayout::SetMaximumSize);
    w1->setLayout(lay1);
    tab->addTab(w1,"tab1");
    QGroupBox* gb1=new QGroupBox("Group 1-1");
    gb1->setMaximumSize(250,100);
    gb1->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Preferred);
    lay1->addWidget(gb1);
    QGroupBox* gb2=new QGroupBox("Group 1-2");
    gb2->setMaximumSize(250,100);
    gb2->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Preferred);
    lay1->addWidget(gb2);

    QWidget* w2=new QWidget(this);
    QVBoxLayout* lay2=new QVBoxLayout;
    lay2->setSizeConstraint(QLayout::SetMaximumSize);
    w2->setLayout(lay2);
    tab->addTab(w2,"tab2");
    QGroupBox* gb3=new QGroupBox("Group 2-1");
    gb3->setMaximumSize(250,100);
    gb3->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);
    lay2->addWidget(gb3);
    QGroupBox* gb4=new QGroupBox("Group 2-2");
    gb4->setMaximumSize(250,100);
    gb4->setSizePolicy(QSizePolicy::Maximum,QSizePolicy::Maximum);
    lay2->addWidget(gb4);
}

enter image description here