ボックスレイアウトの方向について
QBoxLayout::QBoxLayout() コンストラクタ生成時に指定する
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
//ボタン2つとテキストボックス1つを作成する
QWidget *widget = new QWidget;
QPushButton *button1 = new QPushButton("button 1");
QPushButton *button2 = new QPushButton("button 2");
QLineEdit *textbox = new QLineEdit();
//垂直方向のボックスレイアウトを作成する
QBoxLayout *horizonal = new QBoxLayout(QBoxLayout::TopToBottom);
horizonal->addWidget(button1);
horizonal->addWidget(button2);
horizonal->addWidget(textbox);
//レイアウトしたウィジェットをメインウィンドウにセットする
widget->setLayout(horizonal);
setCentralWidget(widget);
}
サブクラスのコンストラクタで作成する
QHBoxLayout::QHBoxLayout() で作成した場合は、QBoxLayout::LeftToRight
QVBoxLayout::QVBoxLayout() で作成した場合は、QBoxLayout::TopToBottom
がそれぞれ設定されます。
後から変更する
setDirection(Direction direction) を使用して後から変更することもできます。
例
setDirection(QBoxLayout::TopToBottom); //方向を上から下に設定する
最終更新:2014年09月09日 22:36