在两个或多个窗口之间拖放 QDockWidget

Geo*_*roy 2 qt

我想知道是否有人知道是否可以将QDockWidget从一个窗口拖动到另一个窗口。

我正在开发一个有很多窗口的应用程序。每个窗口都有特定的用途。我想使用 QDockWidget 因为在主窗口中停靠小部件时会自动重新缩放。但我还希望能够在新窗口中拥有一个新的停靠区域,以便我可以将所有彼此相关的小部件放在一起。

有人有建议吗?

Fèl*_*lué 5

据我所知,QDockWidget如果它们是单独开发的,则无法将它们从一个应用程序拖动到另一个应用程序。

另一方面,我认为您可以将a重新设置QDockWidget为 another QMainWindow,只要它是同一应用程序的一部分。

...aaaa并且您始终可以尝试拦截拖放事件并使用您自己的协议在两个窗口之间传递信息:为拖放定义新的 mime 类型并定义与QDockWidget. 然后,实现代码来分析数据并重建QDockWidget目标窗口中的内容......这不是一件容易的事!

  • 感谢您的回答 Fèlix,`dock->setParent(otherQMainWindow);` 是一种方法。 (2认同)