2017-01-07 33 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

我已經從你的代碼中獲得了一些想法並解決了我的問題。非常感謝。 –

相關問題