PyQt4:隐藏窗口小部件并调整窗口大小

时间:2010-02-19 02:28:38

标签: python qt4 pyqt4

我正在使用几个小部件,但解决方案不会出来。我所拥有的是一系列QHBoxLayouts系列按钮。默认情况下会隐藏某些按钮,但会在需要时显示。为了解决空间问题,所有按钮都具有最小和最大尺寸,因此它们看起来总是很好。此外,我有QTextEdit,默认情况下可见,位于QVBoxLayoutQHBoxLayout按住按钮

问题是这样的:当我隐藏QTextEdit并显示其他按钮时,窗口将不会调整大小。 搜索之后我发现使用self.ui.layout().setSizeConstraint(QtGui.QLayout.SetFixedSize)可以解决问题,但问题是它需要所有小部件的最大大小,因此我结束了一个巨大的窗口。执行self.ui.layout().setSizeConstraint(QtGui.QLayout.SetMinAndMaxSize)不会调整窗口大小

我已尝试使用self.ui.resize(0,0),在执行self.ui.layout().update()时我得到了假(我觉得奇怪,http://doc.trolltech.com/4.6/qlayout.html#activate),并且还试图覆盖sizeHint()但它继续使用所有小部件的最大大小。

有没有办法调整窗口大小并同时处理窗口小部件的最小和最大尺寸?

提前致谢

1 个答案:

答案 0 :(得分:4)

答案非常蹩脚......只需更改QVBoxLayout的{​​{1}}并使用QGridLayout