在MATLAB的App Designer中,默認情況下,組件的位置是固定的,不會隨著父容器的大小變化而改變。問題圖如下圖所示。
解決:
為了讓Panel面板能夠隨著UIFigure父容器一起縮放,需要使用布局管理器,我利用 MATLAB 的?GridLayout
?管理組件位置
此時的行高和列寬都是“1x”?
?將現有的 Panel 面板拖入網格布局內部。放置好之后的設計視圖和組件瀏覽器如下圖所示。
確保 Panel 的 Layout 屬性指向網格布局對象,代碼就會自動更新如下。
之后再在panel面板中放置一個柵格布局,代碼更新如下圖所示。
?這里需要修改一下行列比例,切換到設計視圖,再在檢查器中的網絡布局中修改行列的比例,如下圖所示。
列的寬也可以是:1x,fit,1x? %?左右留空,中間固定高度
行的高還是1x,fit,fit,1x? %上下留空,中間固定高度的設置。
?相關的代碼也會自動更新,如下圖所示。
確保畫布的resize調整大小是on開著的,如下圖所示。
之后再修改Panel面板的位置,讓其以左下角為起點,并且寬度和高度占滿父容器GridLayout。
position:0,0,1,1
添加一個標簽組件,寫上”hello world”,接著點擊運行,之后再將窗口放大,效果如下圖所示。
?可以看到,面板隨著窗口的放大而放大。
?如果對文章有疑問或者是有問題,請在評論區留言或者是私信我。