レイアウトにおけるコントロールの位置の設定方法
Qtではレイアウトマネージャーを利用して、レイアウト内にウィジェットを配置します。レイアウトマネージャーは、ウィジェットの位置とサイズを自動調整し、ウィンドウサイズの変更に対応します。
- setLayout()を設定する
- 垂直レイアウト
- 水平ボックスレイアウト
QVBoxLayout* layout = new QVBoxLayout(this);
setLayout(layout);
- ウィジェットを追加する
QPushButton* button1 = new QPushButton("Button 1");
layout->addWidget(button1);
QPushButton* button2 = new QPushButton("Button 2");
layout->addWidget(button2);
- ウィジェットを挿入する
layout->insertWidget(0, button2); // 将按钮2插入到布局的第一个位置
- setSizePolicy()を設定する
- QSizePolicy::Minimum
- QSizePolicy::Expanding
button1->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
より柔軟なコントロールの並べ替えを実現するには、QGridLayout(グリッドレイアウト)などの、より複雑なレイアウトマネージャを使用することもできます。