控件所占空间
QGridLayout *LeftLayout =new QGridLayout(this);
LeftLayout->addWidget(label1, 0, 0);
LeftLayout->addWidget(label2, 0, 1);
LeftLayout->addWidget(btn1, 1, 0, 1, 2);
LeftLayout->setColumnStretch(0, 1);
LeftLayout->setColumnStretch(1, 3);
QHBoxLayout *RightLayout =new QHBoxLayout(this);
RightLayout->setMargin(10);
RightLayout->setSpacing(10);
RightLayout->addWidget(label3);
RightLayout->addWidget(label4);
RightLayout->setStretchFactor(label3, 1);
RightLayout->setStretchFactor(label4, 3);
如果将QHBoxLayout改为QVBoxLayout,结果如下:
控件位置
QVBoxLayout *ButtomLayout = new QVBoxLayout(this);
ButtomLayout->addStretch(1);
ButtomLayout->addWidget(label5);
ButtomLayout->addStretch(3);
ButtomLayout->addWidget(label6);
ButtomLayout->addStretch(2);
如果将QVBoxLayout改为QHBoxLayout,结果如下:
总体布局
QGridLayout *mainLayout =new QGridLayout(this);
mainLayout->setMargin(15);
mainLayout->setSpacing(10);
mainLayout->addLayout(LeftLayout,0, 0);
mainLayout->addLayout(RightLayout,0, 1);
mainLayout->addLayout(ButtomLayout, 1, 0, 1, 2);