Как привязать геометрию QWidget при движении мышью?

При перетаскивании виджета мышью широта свободно перемещается (виджет с рамкой). Чего я хочу добиться, так это иметь определенные области, в которых перемещенный виджет привязан, например, к другому виджету или границе экрана. Например, окно списка воспроизведения в Winamp привязывается к главному окну. Как добиться такого поведения?

1 ответ

Если ваш виджет является лишь небольшой частью вашего приложения, я бы предложил то же самое, что и первый комментарий. Вы должны использовать

QMainWindow

а затем добавить немного

QDockWidget

к главному окну.

// ...

QMainWindow* window = new QMainWindow();

// ...

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

// ...

Но если это не соответствует вашим потребностям, вам нужно реализовать собственный алгоритм для этой цели.

Другие вопросы по тегам