设置QBoxLayout最大尺寸?

问题描述:

我明明错过了一些东西,请赐教。设置QBoxLayout最大尺寸?

AttributeError: 'QVBoxLayout' object has no attribute 'setMaximumSize' 

我一直在阅读了Qt文档一段时间,但只是不能似乎能够得到这个工作

+0

为了在这里澄清一点,我有一个基地QVBoxLayout,我有addLayout'ed另一个QVBoxLayout,我想设置最大宽度的内部QVBoxLayout – Thev00d00 2011-03-22 13:52:34

AFAIK您无法为布局设置最大尺寸。你为什么想要 - 对我来说没有意义(哪个子部件应该限制布局?)

关于setMaximumSize - 没有这种布局方法。但是,您可以设置一个QLayout::SetMaximumSize约束,但是此约束适用于使用此布局布置的小部件,而不适用于布局本身。这意味着小部件的增长不能超过布局的最大尺寸 - 所以这与您所需要的大不相同。

我建议你重新考虑你的真正目标 - 也许可以通过其他方式实现。例如,您可以为您的QBoxLayout设置的单个小部件设置最大大小。

+0

你是对的,我接近它错了,我需要为相关小部件设置最大宽度,然后根据需要扩展其他内容,谢谢! – Thev00d00 2011-03-22 14:44:08

不能直接设置maximumSize属性,因为它是动态地布局。也许你正试图将QLayout.SizeConstraint设置为QLayout.SetMaximumSize?如果是这样,那么请参阅QLayout.setSizeConstraint方法。否则,如果要为给定小部件指定确切的最大值,则应该致电QWidget.setMaximumSize

就像这个错误告诉你的那样,布局上没有setMaximumSize方法。

QWidget s有该方法。