设置QBoxLayout的最大尺寸?
我明显有些搞不清楚,请帮我解答一下。
AttributeError: 'QVBoxLayout' object has no attribute 'setMaximumSize'
我看了好一段时间的Qt文档,但就是无法让这个东西正常工作。
3 个回答
0
就像那个错误信息告诉你的,布局是没有 setMaximumSize
这个方法的。
但是 QWidget
是有这个方法的。
1
你不能直接设置 maximumSize 属性,因为这个值是由布局动态决定的。也许你想把 QLayout.SizeConstraint 设置为 QLayout.SetMaximumSize?如果是这样,可以看看 QLayout.setSizeConstraint 方法。否则,如果你想为某个特定的控件设置一个确切的最大值,你应该调用 QWidget.setMaximumSize。
4
据我所知,你不能为一个布局设置最大大小。为什么要这样做呢?我觉得没有意义(布局应该限制哪个子控件呢?)
关于 setMaximumSize
- 布局是没有这个方法的。不过,有一个 QLayout::SetMaximumSize
的限制可以设置,但这个限制是针对使用这个布局的控件,而不是布局本身。这意味着控件的大小不能超过布局的最大大小,所以这和你想要的效果是完全不同的。
我建议你重新考虑一下你的真实目标 - 也许可以用其他方式来实现。例如,你可以为你的 QBoxLayout
中的每个单独控件设置最大大小。