------------ ------
| | | 2 |
| | | |
| 1 | ------
| | ------
| | | 3 |
------------ ------
上記のようにQGridLayout
を配置するにはどうすればよいですか?
私は試した:
QGridLayout *layout = new QGridLayout();
centralWidget->setLayout (layout);
layout->addWidget (objOne, 0, 0);
layout->addWidget (objTwo, 0, 1);
layout->addWidget (objThree, 1, 1);
しかし失敗しました。
addWidget
のドキュメントを確認してください。 rowSpan
とcolumnSpan
を指定できます
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);
ただし、QtDesignerを使用して目的のレイアウトを作成する方がはるかに簡単であることに注意してください。詳細については、 このQt
ドキュメントページ を確認してください。
何らかの理由で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);