[英]How to resize items in qt layout?
我目前开始尝试使用qt布局,但遇到一个问题:例如,如果我使用VBoxLayout
,那么每个项目都会获得与其他项目相同的空间,例如,它们将空间平均分隔。 但就我而言,我想拥有一件具有90%空间的物品,另一件拥有10%空间的物品。 我已经发现我可以使用sizePolicy
,但是如果我想在布局中调整布局的大小(例如,如果我在另一个布局中设置一个布局和一个项目),则没有找到。 因此:如何调整布局的大小?
出于这个原因,您可以使用QBoxLayout::setStretchFactor
。
此方法设置系数中每个小部件或布局应容纳多少空间。
您可以在那里传递QWidget
或QLayout
。
编辑:这是一个简单的示例,说明了它是如何工作的:
QFrame* f1 = new QFrame;
f1->setFrameStyle(QFrame::Box);
QFrame* f2 = new QFrame;
f2->setFrameStyle(QFrame::Box);
QWidget* w = new QWidget;
QVBoxLayout* l = new QVBoxLayout;
w->setLayout(l);
l->addWidget(f1);
l->addWidget(f2);
l->setStretchFactor(f1, 1);
l->setStretchFactor(f2, 2);
w->show();
结果:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.