Nyt*_*ras 11 c++ user-interface qt qdockwidget
我有一个QMainWindow包含几个QDockWidgets.一次只能显示其中一个.我的问题是:
当我隐藏dockWidget并显示另一个时,无论我设置了什么QSizePolicys,sizeHint,sizeConstraint,新显示的大小都与刚隐藏的大小相同!我想新所示,以恢复自己的最后大小,但我无法找到一个调整的任何方法QDockWidget,而不固定它的大小setMinimumSize和setMaximumSize.
事实上有一种方法,但我认为它非常难看:
setMinimumWidth(500);
setMaximumWidth(500);
qApp().processEvents();
setMinimumWidth(0);
setMaximumWidth(9999);
Run Code Online (Sandbox Code Playgroud)
肯定有更好的办法?!有什么建议?
小智 2
从文档中:
QDockWidget 充当其子窗口小部件的包装器,通过 setWidget() 设置。自定义尺寸提示、最小和最大尺寸以及尺寸策略应在子窗口小部件中实现。QDockWidget 将尊重它们,调整其自身的约束以包括框架和标题。不应在 QDockWidget 本身上设置大小约束,因为它们会根据它是否停靠而变化;停靠的 QDockWidget 没有框架和较小的标题栏。
这意味着您应该调整子窗口小部件的大小,而不是调整 DockWidget 的大小。