2012-02-15 15 views
7

QMainWindowと等しい部分に2つの子Widgetオブジェクトを追加するにはどうすればよいですか?QMainWindowで子を追加する

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

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

レイアウトを使用する必要があります。 –

答えて

11

e-亜鉛はレイアウトを使用する必要があることを示唆しています。 2つのウィジェットをメインウィンドウに挿入したいとします。

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

これは、水平にウィジェットをレイアウトし、あなたは、この結果を取得します: QHBoxLayoutExample

をそして、あなたはそれらをレイアウトしたい場合は縦に、私は強くドキュメントを読ん示唆しQVBoxLayout

を使用しています。 Layout Management in Qt

+0

私はカスタムタイトルバーで作業しています。これは最初の方法です:レイアウトを使用してそこにすべてのウィジェットを配置する – swdev

2

独自のコントロールを追加するには、QMainWindow::setCentralWidget(QWidget *)を使用します。

関連する問題