2012-02-15 14 views
7

Jak dodać dwa obiekty podrzędne Widget w równej części QMainWindow.Dodawanie dziecka w QMainWindow

MainWindow::MainWindow(QWidget *parent) 
    : QMainWindow(parent) 

{ TreeArea *ta= new TreeArea(this); 
    TreeArea *ta1= new TreeArea(this); 
. 
. 
. 
    TreeArea::TreeArea(QWidget *parent) : 
QWidget(parent) 
{ 
. 
. 
. 
+2

Musisz użyć układu. –

Odpowiedz

11

Jak sugerował e-cynk, należy użyć układu. Powiedzmy, że chcesz wstawić dwa widżety do głównego okna.

QHBoxLayout *layout = new QHBoxLayout; 

QPushButton *button1 = new QPushButton("button1"); 
QPushButton *button2 = new QPushButton("button2"); 

layout->addWidget(button1); 
layout->addWidget(button2); 

setCentralWidget(new QWidget); 
centralWidget()->setLayout(layout); 

Ten układ będzie widżety poziomo, a otrzymasz ten wynik: QHBoxLayoutExample

A jeśli chcesz je wykorzystać układ pionowo QVBoxLayout

Chciałbym zdecydowanie sugerują, czytanie dokumentacji. Layout Management in Qt

+0

Pracuję nad niestandardowym belką tytułową i myślę, że jest to pierwszy sposób: użyć układu, aby rozpocząć wstawianie wszystkich widżetów – swdev

2

Zastosowanie QMainWindow::setCentralWidget(QWidget *) aby dodać własną kontrolę.

Powiązane problemy