当我有一个带有网格布局的 QMainWindow 时,当用鼠标调整它的大小时,它不会低于其中所有控件正确显示所需的最小尺寸。在我的应用程序中,我有时会以编程方式隐藏控件,但随后窗口保持相同的大小,其余控件看起来分散开来,它们之间的空间太大。我最终手动调整了对话框的大小,这样它看起来就不会难看了。
我可以通过编程方式将对话框的垂直尺寸设置为在隐藏控件后手动调整大小时得到的最小值吗?
我发现调整大小centralWidget
in the QMainWindow
然后调整大小QMainWindow
它本身就可以解决问题。换句话说:
from PyQt4 import QtGui
class MyMainWindow(QtGui.QMainWindow):
def __init__(self):
# define some widgets and stuff
def whenWidgetsAreHidden(self):
# this method should be triggered when you hide your widgets
self.centralWidget.adjustSize()
self.adjustSize()
请注意,QMainWindowLayout 中还有其他小部件。根据这张图片来自Qt 文档 http://doc.qt.io/qt-4.8/qmainwindow.html,还有 Dock Widget 和其他可能存在的东西。我只使用centralWidget
所以这个解决方案对我有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)