2011-06-15 189 views

回答

0

浮动QDockWidget在其父QMainWindow最小化时自动最小化。对此你无能为力。您可能必须将您的QDockWidget更改为QDialog(或其他一些QWidget),其中parent = 0。

4

由于主窗口拥有子窗口,所以当主窗口最小化时,浮动窗口几乎肯定会最小化。换句话说,浮动窗口是主窗口的子窗口。当所有者窗口最小化时,子窗口不可见。

解决方案显然是打破你的浮动窗口和主窗口之间的所有权关系。这可能还需要您更改浮动窗口所代表的窗口类型。我猜测一个QDockWidget类实现了浮动工具调色板或其他形式的弹出窗口。为了有一个独立的窗口,你需要创建一个重叠的窗口。

了解更多关于各种类型的windows here,至少假设你正在使用Windows。
我认为这是其他目标操作系统的类似情况。

特别是在Windows上,有人可能会建议您将浮动窗口设置为桌面窗口的子项,但让我借此机会强烈建议您不要这样做。有关更细致的讨论,请参阅Raymond Chen的blog post on the subject