如何在使用鼠标移动时捕捉QWidget几何体?

时间:2015-04-03 12:31:17

标签: c++ qt qt5 qwidget qtgui

使用鼠标拖动窗口小部件时,可以自由移动窗口(带框架的窗口小部件)。我想要实现的是将移动的小部件移动到某些区域,例如移动到屏幕的其他小部件或边框。例如,Winamp中的播放列表窗口会捕捉到主窗口。如何实现这种行为?

1 个答案:

答案 0 :(得分:0)

如果您的小部件只是您应用程序的一小部分,那么我会提供与第一条评论相同的内容。你应该使用

QMainWindow

然后添加一些

QDockWidget

到主窗口。

// ...

QMainWindow* window = new QMainWindow();

// ...

QDockWidget* dockWidget = new QDockWidget( "Your DockWidget" );
window->addDockWidget( Qt::LeftDockWidgetArea, dockWidget );

// ...

但如果它不符合您的需求,那么您需要为此目的实现自己的算法。