【发布时间】:2010-02-19 02:28:38
【问题描述】:
我正在使用几个小部件,但解决方案不会出来。我拥有的是QHBoxLayouts 系列中的一系列按钮。一些按钮默认是隐藏的,但它们会在需要时出现。为了解决空间问题,所有按钮都有最小和最大尺寸,因此它们看起来总是包装得很好。我还有一个QTextEdit,默认可见,它在一个QVBoxLayout 中,QHBoxLayout 持有按钮
所以问题是这样的:当我隐藏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(),但它一直使用所有小部件的最大尺寸.
有没有办法在调整窗口大小的同时注意小部件的最小和最大尺寸?
提前致谢
【问题讨论】:
-
你能发布代码,或者至少是一个sn-p吗?我认为如果我能看到它的实际效果,就会更容易理解并尝试诊断这个问题。
-
由于我使用的是uic模块,而且原源码有很多依赖,所以贴出相关的Window代码pastebin.com/f1544ffdb(很少)和uic文件pastebin.com/f65684099 .还有一些截图flickr.com/photos/21252852@N06/sets/72157623339593841