上图红圈中的实现,第一次想要实现,总会和想的不一样。
- 第一种情况
- 第二种情况
- 第三种情况
有时候为了达到一种效果,也算是煞费苦心了,且不说这个demo还是找的其他CSDN博主的,但是功夫不负有心人。
解决办法
- 先让 DockWidget_2和DockWidget_5布局成垂直布局。
- 然后让DockWidget_5和DockWidget_9布局成垂直布局。
- 最后让DockWidget_5和DockWidget_6布局成水平布局。这样就大功告成了。
错误的写法
addDockWidget(Qt::LeftDockWidgetArea,ui->dockWidget_1);splitDockWidget(ui->dockWidget_1,ui->dockWidget_2,Qt::Horizontal);splitDockWidget(ui->dockWidget_2,ui->dockWidget_3,Qt::Horizontal);splitDockWidget(ui->dockWidget_1,ui->dockWidget_4,Qt::Vertical);splitDockWidget(ui->dockWidget_2,ui->dockWidget_5,Qt::Vertical);splitDockWidget(ui->dockWidget_5,ui->dockWidget_6,Qt::Horizontal);splitDockWidget(ui->dockWidget_5,ui->dockWidget_9,Qt::Vertical);
先让DockWidget_5和DockWidget_6布局成水平布局
然后再布局DockWidget_9的位置,就永远没办法实现想要的效果。