背景
新版本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'真难用
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...