我目前拥有的:
我想要的:
对于那些无法查看图像的人;小部件之间以某种形式展开。我想让他们尽可能靠近。如何将小部件挤得更近?
我已经试过了:
setFixedSize(sizeHint());
和 setSizeConstraint(QLayout::SetFixedSize);
在主窗口、布局和小部件对象上。似乎没有任何效果。
我正在使用 Windows 和 Qt 5.11.1,64 位。
窗口构造函数代码:
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
widget = new QWidget();
label = new QLabel(tr("Enter your name:"));
nameLine = new QLineEdit;
nameLine->setMinimumWidth(250);
label->setBuddy(nameLine);
okButton = new QPushButton (tr("Ok"));
clearButton = new QPushButton (tr("Clear"));
connect(okButton, SIGNAL(clicked()), this, SLOT(message()));
connect(clearButton, SIGNAL(clicked()), this, SLOT(clear()));
QGridLayout *grid = new QGridLayout;
grid->addWidget(label,0,0);
grid->addWidget(nameLine,1,0);
grid->addWidget(okButton,0,1);
grid->addWidget(clearButton,1,1);
widget->setLayout(grid);
setWindowTitle(tr("Leo v0.0"));
setCentralWidget(widget);
}
最佳答案
一个可能的解决方案是用addStretch()
建立一个QVBoxLayout
:
QVBoxLayout *vlay = new QVBoxLayout;
QGridLayout *grid = new QGridLayout;
grid->addWidget(label, 0, 0);
grid->addWidget(nameLine, 1, 0);
grid->addWidget(okButton, 0, 1);
grid->addWidget(clearButton, 1, 1);
vlay->addLayout(grid);
vlay->addStretch();
widget->setLayout(vlay);
setCentralWidget(widget);
关于c++ - 如何使用 Qt 减少小部件和窗口大小之间的距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51841521/