如何检测QDockWidget何时移出QMainWindow?

问题描述:

有一个信号,它允许用户知道一个QDockWidget已被移动 QMainWindow中:如何检测QDockWidget何时移出QMainWindow?

void dockLocationChanged(Qt::DockWidgetArea area) 

的问题是,当一个QDockWidget移动将这个信号没有被解雇QMainWindow(通过拖动或双击dockwidget的标题栏)。

有没有一种方法来检测这种情况下,不重新实现moveEvent()

有一个floating财产正是为此目的,和topLevelChanged信号。

+0

这很有趣。文档没有说什么时候添加了“topLevelChanged”,但我记得确切地想知道OP在Qt5之前要求什么。 –

+0

哦,你是对的,我的问题不完整。无论如何,我会接受它,但不幸的是,当你使用另一个已经超出主窗口的docker widget来*时,这个信号不会被发出......(信号dockLocationChanged()') – IAmInPLS

+0

更改'floating'属性使用'setFloating()'方法不会发出'topLevelChanged()'信号。这是预期的吗? – harihardik