我将在每个标签内创建多个标签框,如下所示。
_______ ______
| | |
| Tab1 | TAB2 |
| | ______ | _________________
|
|组框1
| ------------------------------------
|
|
|组框2
| ------------------------------------
如何使用 QTabWidget 和 QGroupBox 执行此操作?
修改
我在标签窗口小部件中用于一个组框的代码是:
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"));
但我不知道如何将另一个组框添加到 Tab1
答案 0 :(得分:1)
也许这里有一些对你有用的东西。
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);
}