Начиная с Qt4, панели инструментов занимают свои собственные области вокруг центрального виджета с фиксированными позициями, поэтому я не верю, что есть простое решение для того, что вы хотите, используя QToolBar
напрямую.Тем не менее, есть простое решение с QDockWidgets
(как вы указали).Просто поместите каждый QToolBar
в отдельный QDockWidget
и используйте QMainWindow::setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea)
. У меня нет доступа к компилятору, но должно быть что-то вроде:
QMainWindow mainWindow;
mainWindow.setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
auto dock = new QDockWidget("Dock", &mainWindow);
auto windowInsideDock = new QMainWindow(dock, Qt::Widget);
auto toolBar = new QToolBar(windowInsideDock);
windowInsideDock->addToolBar(toolBar);
dock->setWidget(insideDock);
mainWindow.addDockWidget(Qt::LeftDockWidgetArea, dock);
//... similar for bottom widget...