2016-07-06 93 views
3

有一個信號,它允許用戶知道一個QDockWidget已被移動 QMainWindow中:如何檢測QDockWidget何時移出QMainWindow?

void dockLocationChanged(Qt::DockWidgetArea area) 

的問題是,當一個QDockWidget移動將這個信號沒有被解僱QMainWindow(通過拖動或雙擊dockwidget的標題欄)。

有沒有一種方法來檢測這種情況下,不重新實現moveEvent()

回答

2

有一個floating財產正是爲此目的,和topLevelChanged信號。

+0

這很有趣。文檔沒有說什麼時候添加了「topLevelChanged」,但我記得確切地想知道OP在Qt5之前要求什麼。 –

+0

哦,你是對的,我的問題不完整。無論如何,我會接受它,但不幸的是,當你使用另一個已經超出主窗口的docker widget來封鎖時,這個信號不會被髮出......(信號dockLocationChanged()') – IAmInPLS

+0

更改'floating'屬性使用'setFloating()'方法不會發出'topLevelChanged()'信號。這是預期的嗎? – harihardik

相關問題