レイアウトにおけるコントロールの位置の設定方法

Qtではレイアウトマネージャーを利用して、レイアウト内にウィジェットを配置します。レイアウトマネージャーは、ウィジェットの位置とサイズを自動調整し、ウィンドウサイズの変更に対応します。

  1. setLayout()を設定する
  2. 垂直レイアウト
  3. 水平ボックスレイアウト
QVBoxLayout* layout = new QVBoxLayout(this);
setLayout(layout);
  1. ウィジェットを追加する
QPushButton* button1 = new QPushButton("Button 1");
layout->addWidget(button1);

QPushButton* button2 = new QPushButton("Button 2");
layout->addWidget(button2);
  1. ウィジェットを挿入する
layout->insertWidget(0, button2);  // 将按钮2插入到布局的第一个位置
  1. setSizePolicy()を設定する
  2. QSizePolicy::Minimum
  3. QSizePolicy::Expanding
button1->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);

より柔軟なコントロールの並べ替えを実現するには、QGridLayout(グリッドレイアウト)などの、より複雑なレイアウトマネージャを使用することもできます。

bannerAds