用鼠标拖动小部件时,widet会自由移动(带边框的小部件)。我想要实现的是在移动的小部件所在的特定区域捕捉到其他小部件或屏幕边界。例如,Winamp中的播放列表窗口会捕捉到主窗口。如何实现这样的行为?
如果小部件只是应用程序的一小部分,那么我会提供与第一条注释相同的内容。你应该使用
QMainWindow
然后添加一些
QDockWidget
到主窗口。
// ...
QMainWindow* window = new QMainWindow();
// ...
QDockWidget* dockWidget = new QDockWidget( "Your DockWidget" );
window->addDockWidget( Qt::LeftDockWidgetArea, dockWidget );
// ...
但如果它不符合您的需求,那么您需要为此实现自己的算法。