我得到了QHBoxLayout
,其中包含2 QWidgets
。这两种QWidgets
的具有固定的长宽比(方形)和具有最小通过这样做扩大QSizePolicy
:Qt - 在布局中定位'MinimumExpanding'小部件
QSizePolicy policy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
policy.setHeightForWidth(true);
setSizePolicy(policy);
和实施heightForWidth
这样的:
virtual int heightForWidth (int w) const override {
return w;
}
现在,我想那些部件来以我的布局为中心。因此,我将它们添加到布局是这样的:
layout->addWidget(widget1, 0, Qt::AlignCenter);
然而,这样他们在他们的首选大小结束,但不占用全部空间可用的内容。这是为什么?看来Qt :: AlignCenter会覆盖我的SizePolicy?!
与此相反,使用Qt::AlignVCenter
实际上会使它们占据所有可用空间。这是如何融合在一起的?
谢谢你!
谢谢!所以这就是'funcionality'...我只是不认为它是人们想要的,是吗?另外,我无法在文档中的任何位置找到它禁用调整大小的选项。无论如何,再次感谢! – nandaloo 2013-02-27 11:08:49