Ben*_*min 6 python qt4 pyqt qdockwidget qmainwindow
我正在尝试创建一个由a组成的应用程序QMainWindow,其中央部件是一个QToolBar(它可能不常见,但出于我的目的,工具栏非常适合).码头只允许在下面.我加了QDockWidget它,并且QAction在QToolBar切换的QDockWidget打开和关闭与removeDockWidget()和restoreDockWidget().
默认大小QMainWindow为800 x 24,QToolBars maximumHeight也设置为24.在之后removeDockWidget()被调用时,QMainWindow的几何图形设置回(0,0,800,24)用setGeometry().
我想要实现的是在移除QMainWindow时将高度调整为24 DockWidget.在setGeometry()似乎因为宽度和位置的变化相应的工作,但有趣的是,高度不让步.那真的是我的问题:)
你觉得怎么回事?
这是一个屏幕演示,说明了手头的问题.
注意:如果我使用QWidget而不是QMainWindow创建相同的场景,并在子窗口小部件上使用show()或hide(),那么我可以adjustSize()毫无问题地调整父级的大小:上面的问题似乎是QMainWindow特定的.
选项
a) 您可以重载 sizeHint() 一个虚函数。让它返回您想要的主窗口大小。
b) 在主窗口的构造函数中,您可以依次调用 setMinimumSize() 和 setMaximumSize(),两者都具有所需的主窗口大小。如果你保持两者相同,你就会得到固定的大小。
c) 看一下layout()->setResizeMode(Fixed)。