У меня есть приложение с тремя док-виджетами. Они создаются следующим кодом:
dock = new QDockWidget(tr("Some title"));
dock->setWidget(some_widget);
dock->setContextMenuPolicy(Qt::PreventContextMenu);
dock->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable);
addDockWidget(Qt::TopDockWidgetArea, dock);
dock2
и dock3
затем табулируются
tabifyDockWidget(dock1, dock2);
tabifyDockWidget(dock2, dock3);
Затем окно выглядит следующим образом:
Я могу расположить доки рядом, перетащив их, чтобы окно выглядело так:
Я хотел бы сделать это программно, но я не могу понять, как это сделать. Делая
splitDockWidget(dock1, dock2, Qt::Horizontal);
Ничего не произошло. При выполнении
splitDockWidget(dock1, dock2, Qt::Vertical);
dock1
и dock2
исчезают, и только dock3
остается видимым:
После ручного перетаскивания его из главного окна и обратно окно выглядит так:
Так что я делаю неправильно здесь?