欢迎光临散文网 会员登陆 & 注册

2020-09-29 MATLAB App Designer——2020b版本的uitable列宽度出错的问题

2020-09-29 18:44 作者:-何其-  | 我要投稿

背景

新版本matlab 2020b关于uitable的ColumnWidth属性更新,,允许设置为‘auto’,'fit','1x',1n单元等四种方式,帮助文件给出的参考如下:

Example: uit = uitable(uifigure,'ColumnWidth','auto','Data',[1 2 3;4 5 6])

Example: uit = uitable(uifigure,'ColumnWidth','fit','Data',[1 2 3;4 5 6])

Example: uit = uitable(uifigure,'ColumnWidth',{64,60,40},'Data',[1 2 3;4 5 6])

Example: uit = uitable(uifigure,'ColumnWidth',{'2x','1x','1x'},'Data',[1 2 3;4 5 6])

Example: uit = uitable(uifigure,'ColumnWidth',{64,"auto",40},'Data',[1 2 3;4 5 6])

Example: uit = uitable(uifigure,'ColumnWidth',{'fit','1x','3x'},'Data',[1 2 3;4 5 6])

应用问题

之前版本编写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'真难用



2020-09-29 MATLAB App Designer——2020b版本的uitable列宽度出错的问题的评论 (共 条)

分享到微博请遵守国家法律