【问题标题】:PyQt4: Hide widget and resize windowPyQt4:隐藏小部件并调整窗口大小
【发布时间】: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(),但它一直使用所有小部件的最大尺寸.

有没有办法在调整窗口大小的同时注意小部件的最小和最大尺寸?

提前致谢

【问题讨论】:

标签: python qt4 pyqt4


【解决方案1】:

答案很蹩脚...只需将QVBoxLayout 更改为QGridLayout 并使用self.ui.layout().setSizeConstraint(QtGui.QLayout.SetFixedSize)

【讨论】:

  • 您可以接受您的回答,这样您的问题就不会出现在“未回答的问题”列表中。
猜你喜欢
  • 1970-01-01
  • 2017-04-26
  • 2016-06-01
  • 1970-01-01
  • 2018-04-26
  • 2020-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多