當我添加一個QLabel
和QCheckBox
s到無論是QVBoxLayout
或QHBoxLayout
我希望它們均勻地分佈,但複選框將在最底部緊allign(在上面的例子中),並且標籤將集中在小部件中的結果空閒空間中。我如何改變這種行爲來平均分配所有3個小部件?Allignment給人意想不到的結果
非常感謝。
這是示例代碼:
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
QLabel* l = new QLabel("Hi");
QCheckBox* c = new QCheckBox("Label");
QCheckBox* c2 = new QCheckBox("Label");
l->setText("Hi");
QVBoxLayout* v = new QVBoxLayout;
v->addWidget(l);
v->addWidget(c);
v->addWidget(c2);
setLayout(v);
ui->setupUi(this);
}
這是結果:
將小部件添加到佈局後,您是否嘗試過使用'addStretch()','addStrut()'和'addSpacing()'?我建議你也試試'QGridLayout'。 – dschulz