【发布时间】:2012-12-22 08:38:03
【问题描述】:
我有一个QMainWindow,其中包含多个QDockWidgets。一次只能显示其中一个。我的问题是:
当我隐藏一个dockWidget并显示另一个时,无论我设置了什么QSizePolicys、sizeHint、sizeConstraint,新显示的大小和刚刚隐藏的一样!我希望新显示的图像恢复它自己的最后大小,但我找不到任何方法来调整QDockWidget 的大小,而无需使用setMinimumSize 和setMaximumSize 修复其大小。
事实上有一种方法,但我认为它很丑:
setMinimumWidth(500);
setMaximumWidth(500);
qApp().processEvents();
setMinimumWidth(0);
setMaximumWidth(9999);
一定有更好的方法?!有什么建议吗?
【问题讨论】:
-
几年前我对这个主题做了一些研究,不幸的是 QDockWidget 似乎忽略了您提供的大多数布局和大小提示。我最终得到了一个复杂的方法,涉及 setMinimumWidth/Height 和 setMaximumWidth/Height。
标签: c++ qt user-interface qdockwidget