前言:
今天想用边框栏QDockWidget实现简单的界面自由布局,实现过程中发现界面的中间区域始终存在,并且左右布局的边框栏不会随窗口的大小自动变化。在网上搜索一番,发现一篇高度吻合需求的文章,但是是基于C++,但是可以借用。因此记录下在python下的实现。
参考文献:
1.https://blog.csdn.net/lengyuezuixue/article/details/80992476?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
代码
实现的代码很简单,在界面初始化时加上以下代码:
if self.centralwidget:
self.centralwidget.deleteLater()#删除中间区域
self.setDockNestingEnabled(True)#实现边框栏自由嵌套
说明
self.centralwidget.deleteLater()
删除中间区域,使左右布局的边框栏相接,并能随窗口大小变化而变化。
self.setDockNestingEnabled(True)
使边框栏可以嵌套布局
默认的布局形式
删除中间区域后
启用嵌套功能后