pyqt当中splitter.setSizes()不生效
setSizes的正确使用方法如下:
总结一下:
假如splitter所在空间宽度为1080, 当你调用setSizes([100,200,300])时候
1. 先替换不合法的参数: 如果你设置的第一个控件的最小尺寸为400,那么,setSizes里边第一个100,就是不合法的,于是被替换为了400
2.现在变成了[400,200,300], 400+200+300=900, 小于1080,于是多于出来的180像素,按照4:2:3分配给 三个控件,最终控件的大小变为了:480 240 360
再假如splitter所在空间宽度为1080, 当你调用setSizes([1000,2000,3000])时候
1. 先替换不合法的参数: 如果你设置的第一个控件的最小尺寸为1000,那么,setSizes里边第一个1000,就是合法的,于是不做变换
2.1000+2000+3000 1:2:3分配 [180 360 540], 180 不合法被替换为1000
于是 2:3分配剩余空间件
3. [1000 32 48]
进一步总结:
先替换非法数据(比minimum小的), 按照像素值分配, 多余或者缺少的空间按照比例分配, 再去除非法数据, 再分配,再去除,再分配
实验发现的,如有不对,欢迎批评指正