我得到了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