2020-09-29 MATLAB App Designer——2020b版本的uitable列寬度出錯(cuò)的問(wèn)題
背景
新版本matlab 2020b關(guān)于uitable的ColumnWidth屬性更新,,允許設(shè)置為‘a(chǎn)uto’,'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])
應(yīng)用問(wèn)題
之前版本編寫uitable并設(shè)置表格列寬度的時(shí)候,采用‘a(chǎn)uto’來(lái)設(shè)置,表格寬度如下圖,單列可以鋪滿整行,很美觀,但對(duì)新版本來(lái)說(shuō),‘a(chǎn)uto’屬性就無(wú)法實(shí)現(xiàn)。

當(dāng)采用2020b的時(shí)候,效果就很難看,單列寬度無(wú)法滿鋪,難看死了。

解決方法
通過(guò)對(duì)matlab 幫助文件中四種寬度設(shè)置的概念理解,之前版本的‘a(chǎn)uto’對(duì)應(yīng)的代碼應(yīng)該是被拆分成‘a(chǎn)uto’和'1x'兩種可能。
將新版本下的‘ColumnWidth’設(shè)置為‘1x’,效果理想,恢復(fù)正常。


對(duì)于多列的表格寬度設(shè)置
采用2020b之前的版本編寫,'ColumnWidth'設(shè)置為‘a(chǎn)uto’,2020b之前的版本設(shè)置'ColumnWidth'為{50,'auto','auto','auto','auto','auto'},效果理想,放大后也能全鋪。
同樣代碼針對(duì)matlab 2020b的效果如下,難看死了

變通方法,至少一個(gè)為‘1x’,修改為{'fit','auto','1x','auto','auto','auto'}的效果

但全屏后的效果真難看

總結(jié):'fit'是個(gè)好改進(jìn),‘a(chǎn)uto’變垃圾,'1x'真難用