2012-03-02 14 views
11
------------ ------ 
|   | | 2 | 
|   | | | 
|  1 | ------ 
|   | ------ 
|   | | 3 | 
------------ ------ 

上記のようにQGridLayoutを配置するにはどうすればよいですか?QGridLayoutにアイテムを配置するにはどうすればいいですか?

私が試した:

QGridLayout *layout = new QGridLayout(); 
centralWidget->setLayout (layout); 

layout->addWidget (objOne, 0, 0); 
layout->addWidget (objTwo, 0, 1); 
layout->addWidget (objThree, 1, 1); 

をが、失敗しました。

答えて

19

addWidgetのドキュメントを確認してください。ただし、QtDesignerを使用して、所望のレイアウトを作成する方がはるかに簡単であることをrowSpancolumnSpan

QGridLayout *layout = new QGridLayout(); 
centralWidget->setLayout (layout); 

layout->addWidget (objOne, 0, 0, -1, 1); 
layout->addWidget (objTwo, 0, 1, 1, 1); 
layout->addWidget (objThree, 1, 1, 1, 1); 

お知らせを提供することができます。 this Qt documentation page詳細については、

14

何らかの理由でQGridLayoutを使用する必要がありますか?このような単純なレイアウトでは、1つのQHBoxLayoutと1つのQVBoxLayoutの組み合わせを使用する方が簡単です。

QVBoxLayout* vlayout = new QVBoxLayout(); 
vlayout->addWidget(objTwo); 
vlayout->addWidget(objThree); 

QHBoxLayout* hlayout = new QHBoxLayout(); 
hlayout->addWidget(objOne); 
hlayout->addLayout(vlayout); 
関連する問題