背景
新版本matlab 2020b关于uitable的ColumnWidth属性更新,,允许设置为‘auto’,'fit','1x',1n单元等四种方式,帮助文件给出的参考如下:
Example: Example: Example: Example: Example: Example:
应用问题
之前版本编写uitable并设置表格列宽度的时候,采用‘auto’来设置,表格宽度如下图,单列可以铺满整行,很美观,但对新版本来说,‘auto’属性就无法实现。
2020b之前的ColumnWidth设置效果(‘auto’)
当采用2020b的时候,效果就很难看,单列宽度无法满铺,难看死了。
2020b的ColumnWidth设置效果('auto')
解决方法
通过对matlab 帮助文件中四种宽度设置的概念理解,之前版本的‘auto’对应的代码应该是被拆分成‘auto’和'1x'两种可能。
将新版本下的‘ColumnWidth’设置为‘1x’,效果理想,恢复正常。
2020b的ColumnWidth设置效果(‘1x’)
对于多列的表格宽度设置
采用2020b之前的版本编写,'ColumnWidth'设置为‘auto’,2020b之前的版本设置'ColumnWidth'为{50,'auto','auto','auto','auto','auto'},效果理想,放大后也能全铺。
同样代码针对matlab 2020b的效果如下,难看死了
ColumnWidth为auto
变通方法,至少一个为‘1x’,修改为{'fit','auto','1x','auto','auto','auto'}的效果
ColumnWidth至少存在一个1x
但全屏后的效果真难看
全屏后的效果
总结:'fit'是个好改进,‘auto’变垃圾,'1x'真难用