Reputation: 721
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
Upvotes: 2
Views: 2351
Reputation:
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);
}
Upvotes: 1