2017-01-07 38 views
1

我将在下面的每个选项卡内创建多个选项卡和多个组框。Qt - 如何将多个QGroupBox添加到QTabWidget?

  _______ ______
|                           |                       |
|     Tab1       |     Tab2       |
|                             | ______ | _________________
|
|      组框1
|     ------------------------------------
|
|
|      组框2
|     ------------------------------------

我该怎么用QTabWidgetQGroupBox

编辑

,我在标签控件使用一组框中的代码是:

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

Somethig [像这样(http://www.poketcode.com/img/pyqt4/qtoolbox_change_item_position.png)你想要什么?这里是[QToolBox文档](http://doc.qt.io/qt-4.8/qtoolbox.html)。如果没有,请提供更多信息。 – Skywrath

+0

感谢您的回复。不,正如我所说的那样,我想用QTabWidget创建一个选项卡,并将两个组合框(QGroupbox)添加到它的内容中。 –

回答

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); 
} 

enter image description here

+0

我已经从你的代码中获得了一些想法并解决了我的问题。非常感谢。 –

相关问题