如何在使用鼠标移动时捕捉QWidget几何图形



用鼠标拖动小部件时,widet会自由移动(带边框的小部件)。我想要实现的是在移动的小部件所在的特定区域捕捉到其他小部件或屏幕边界。例如,Winamp中的播放列表窗口会捕捉到主窗口。如何实现这样的行为?

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

QMainWindow

然后添加一些

QDockWidget

到主窗口。

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

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

最新更新