Как привязать геометрию QWidget при движении мышью?
При перетаскивании виджета мышью широта свободно перемещается (виджет с рамкой). Чего я хочу добиться, так это иметь определенные области, в которых перемещенный виджет привязан, например, к другому виджету или границе экрана. Например, окно списка воспроизведения в Winamp привязывается к главному окну. Как добиться такого поведения?
1 ответ
Если ваш виджет является лишь небольшой частью вашего приложения, я бы предложил то же самое, что и первый комментарий. Вы должны использовать
QMainWindow
а затем добавить немного
QDockWidget
к главному окну.
// ...
QMainWindow* window = new QMainWindow();
// ...
QDockWidget* dockWidget = new QDockWidget( "Your DockWidget" );
window->addDockWidget( Qt::LeftDockWidgetArea, dockWidget );
// ...
Но если это не соответствует вашим потребностям, вам нужно реализовать собственный алгоритм для этой цели.