我有一个窗口,中间有一个标签,标签上下还有其他小部件。我想将标签拉伸(stretch)到任意高度,从而调整窗口大小并将小部件推开而不是将它们相交。是否有内置功能?
编辑:我在所有小部件所在的位置添加了一个布局,但是当我展开其中一个时,它会将其他小部件推到一个角落而不调整窗口大小。
最佳答案
您可能没有添加布局。 这是一个带有 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->addWidget(label); 的上方和下方添加
在代码中layout->addStretch();
;
关于c++ - Qt 从内部拉伸(stretch)父窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32034768/