2011-06-15 180 views

回答

0

浮動QDockWidget在其父QMainWindow最小化時自動最小化。對此你無能爲力。您可能必須將您的QDockWidget更改爲QDialog(或其他一些QWidget),其中parent = 0。

4

由於主窗口擁有子窗口,所以當主窗口最小化時,浮動窗口幾乎肯定會最小化。換句話說,浮動窗口是主窗口的子窗口。當所有者窗口最小化時,子窗口不可見。

解決方案顯然是打破你的浮動窗口和主窗口之間的所有權關係。這可能還需要您更改浮動窗口所代表的窗口類型。我猜測一個QDockWidget類實現了浮動工具調色板或其他形式的彈出窗口。爲了有一個獨立的窗口,你需要創建一個重疊的窗口。

瞭解更多關於各種類型的windows here,至少假設你正在使用Windows。
我認爲這是其他目標操作系統的類似情況。

特別是在Windows上,有人可能會建議您將浮動窗口設置爲桌面窗口的子項,但讓我藉此機會強烈建議您不要這樣做。有關更細緻的討論,請參閱Raymond Chen的blog post on the subject