Есть два режима - Multiple mode и Docked mode.
Необходимо динамически переключаться между этими режимами.
Что я делаю: создаю нужные мне окна, показываю их (в Multiple mode). Далее заважу QMainWindow, куда пихаю мои окна (передаю в это окно УКАЗАТЕЛИ на созданные окна). Для каждого делаю это делаю таким образом:
QDockWidget *dock;
dock = new QDockWidget(tr("widget"),this);
dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
dock->setWidget(_MyWidget); //!!!!!!!!!! <--
addDockWidget(Qt::RightDockWidgetArea, dock);
При этом все проходит нормально.
Проблемы начинаются, когда пытаюсь переключиться обратно в Multiple mode. Думаю, главное окно (QMainWindow) при закрытии "уносит с собой в могилу" и все окна, содержащиеся в нем. Меня, естественно, это не устраивает. Просто QDockWidget *dock захватывает указатель, а потом его не отдает.
Что же мне сделать, чтобы мои окошки (QWidget) не закрывались, а переходили в Multiple mode???
Должно быть что-то на подобие Designer в Qt (Edit->User Interface Mode)
Подскажите, пожааалуйста!
добавлено спустя 42 минуты: Мдаа...
Всего-то навсего нужно было каждому окну поставить в качестве parent NULL:
_MyWidget->setParent(NULL);
И все заработало!