サンプル ウィジェットをレイアウトする


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

ボックスレイアウトの方向について

QBoxLayout::QBoxLayout() コンストラクタ生成時に指定する

  1. MainWindow::MainWindow(QWidget *parent) :
  2. QMainWindow(parent)
  3. {
  4. //ボタン2つとテキストボックス1つを作成する
  5. QWidget *widget = new QWidget;
  6. QPushButton *button1 = new QPushButton("button 1");
  7. QPushButton *button2 = new QPushButton("button 2");
  8. QLineEdit *textbox = new QLineEdit();
  9.  
  10. //垂直方向のボックスレイアウトを作成する
  11. QBoxLayout *horizonal = new QBoxLayout(QBoxLayout::TopToBottom);
  12. horizonal->addWidget(button1);
  13. horizonal->addWidget(button2);
  14. horizonal->addWidget(textbox);
  15.  
  16. //レイアウトしたウィジェットをメインウィンドウにセットする
  17. widget->setLayout(horizonal);
  18. setCentralWidget(widget);
  19. }
  20.  

サブクラスのコンストラクタで作成する

QHBoxLayout::QHBoxLayout() で作成した場合は、QBoxLayout::LeftToRight
QVBoxLayout::QVBoxLayout() で作成した場合は、QBoxLayout::TopToBottom
がそれぞれ設定されます。

後から変更する

setDirection(Direction direction) を使用して後から変更することもできます。

setDirection(QBoxLayout::TopToBottom); //方向を上から下に設定する