我有一个窗口,它的中间有一个标签,标签上面和下面都有其他小部件。我希望将标签拉伸到任意高度,从而调整窗口大小,将小部件推开,而不是将它们相交。这里面有内置的功能吗?
编辑:我添加了一个布局,其中所有的小部件都在其中,但当我展开其中一个,它把其他的推到一个角落,而不调整窗口大小。
发布于 2015-08-16 15:01:11
你可能没有添加布局。下面是一个QVBoxLayout的示例,它将把您将添加到其中的小部件放在彼此之间。
#include "class.h"
#include <QPushButton>
#include <QLabel>
#include <QVBoxLayout>
Class::Class(QWidget *parent) : QWidget(parent)
{
QVBoxLayout* layout = new QVBoxLayout;
QPushButton* button1 = new QPushButton("dummy1");
QPushButton* button2 = new QPushButton("dummy2");
QLabel* label = new QLabel("label");
layout->addWidget(button1);
layout->addWidget(label);
layout->addWidget(button2);
setLayout(layout);
}编辑:如果你真的想把标签推开,你可以在代码中的layout->addStretch();上面和下面添加layout->addWidget(label);
https://stackoverflow.com/questions/32034768
复制相似问题