我在窗口中有2列3行。看起来像这样:



我如何摆脱第一列第一行中QCheckBox之后的多余垂直空间?

这是我的代码:

QGridLayout *mainLayout = new QGridLayout;
QLabel *speedLabel = new QLabel(tr("speed (%)"));

mainLayout->setVerticalSpacing(5);
mainLayout->setColumnStretch(1,2);
mainLayout->addWidget(beginBool,0,0,Qt::AlignTop);
mainLayout->addWidget(speedLabel,1,0);
mainLayout->addWidget(speedSlider,2,0);
mainLayout->addWidget(graphic,0,1);

setLayout(mainLayout);

最佳答案

尝试改变

mainLayout->addWidget(graphic,0,1);


对此:

 mainLayout->addWidget(graphic,0,1,3,1);


它将消除多余的垂直空间。

graphic的单元格将从0(行),1(col)开始,跨越3行和1列,请参见QGridLayout::addWidget

关于c++ - Qt中的垂直对齐,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28980440/

10-10 15:02