我有一个容器小部件.
它的尺寸政策是"固定的"(垂直和水平).它定义了setMaxmimumWidth和setMaximumHeight.
我在那里放了一个QHBoxLayout容器.添加小部件(具有固定的宽度/高度).但是,当我打电话给"显示"时,这一切都没有得到尊重.高度几乎是随机的,与布局中的任何内部小部件都不匹配,是最高项目大小的两倍,并且我的容器的宽度被拉伸远远超过我设置的固定宽度.
我错过了什么?为什么容器不能像我定义的那样保持固定的宽度/高度?为什么布局干扰它而不尊重它的约束?
我想让我的小部件总是有方形尺寸.根据这个答案,我已经覆盖了QWidget::heightForWidth(),我也setHeightForWidth(true)按照@peppe的建议调用了构造函数.大小策略设置为Preferred,Preferred(水平大小和垂直大小).
但是,heightForWidth()没有被召唤.有什么我做错了吗?
这是我Widget班级中heightForWidth()的声明:
virtual int heightForWidth(int) const;
Run Code Online (Sandbox Code Playgroud)
这种情况发生在Linux和Windows上.