主要内容gydF4y2Ba

uigridlayoutgydF4y2Ba

创建网格布局管理器gydF4y2Ba

描述gydF4y2Ba

ggydF4y2Ba= uigridlayoutgydF4y2Ba为应用创建一个网格布局管理器。它沿着横跨整个图形或图形中的容器的不可见网格的行和列定位UI组件。该命令在新图形中创建一个2 * 2的网格布局,并返回gydF4y2BaGridLayoutgydF4y2Ba对象。MATLABgydF4y2Ba®gydF4y2Ba调用gydF4y2BauifiguregydF4y2Ba函数创建图形。如果不想通过设置像素值来定位组件,请使用网格布局管理器gydF4y2Ba位置gydF4y2Ba向量。gydF4y2Ba

如果将组件添加到网格布局管理器,但未指定gydF4y2Ba布局gydF4y2Ba属性,然后网格布局管理器将从左到右、从上到下添加组件。gydF4y2Ba

例子gydF4y2Ba

ggydF4y2Ba= uigridlayout (gydF4y2Ba父gydF4y2Ba)gydF4y2Ba在指定的父容器中创建网格布局。属性创建的图形可以是父图形gydF4y2BauifiguregydF4y2Ba函数或其子容器之一。gydF4y2Ba

例子gydF4y2Ba

ggydF4y2Ba= uigridlayout (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba深圳gydF4y2Ba)gydF4y2Ba指定作为矢量的网格的大小gydF4y2Ba深圳gydF4y2Ba.这个向量中的第一个元素是行数,第二个元素是列数。指定gydF4y2Ba深圳gydF4y2Ba参数本身或后面的gydF4y2Ba父gydF4y2Ba论点。gydF4y2Ba

例子gydF4y2Ba

ggydF4y2Ba= uigridlayout (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba指定gydF4y2BaGridLayoutgydF4y2Ba属性值使用一个或多个名称-值对参数。在前面任何语法中的所有其他参数之后指定名称-值对参数。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

创建一个图形和网格。然后通过设置行高和列宽配置网格。在本例中,配置一个3乘2的网格,其中顶部的两行固定为22像素,而底部的行具有可变的高度。将左侧列设置为150像素宽,并将右侧列设置为可变宽度。网格填充了整个图,但是因为网格是不可见的,所以图看起来是空的。gydF4y2Ba

无花果= uifigure (gydF4y2Ba“位置”gydF4y2Ba,[100 100 440 320]);g = uigridlayout(图);g.RowHeight ={22日,22日gydF4y2Ba“1 x”gydF4y2Ba};g.ColumnWidth = {150,gydF4y2Ba“1 x”gydF4y2Ba};gydF4y2Ba

向网格添加两个下拉框、一个列表框和一个轴组件。属性的行或列位置gydF4y2Ba布局gydF4y2Ba属性时,它们默认从左到右和从上到下填充网格。在本例中,移动第二个下拉列表(gydF4y2Badd2gydF4y2Ba)及列表框(gydF4y2BachanlistgydF4y2Ba)设置为特定的行和列gydF4y2Ba布局gydF4y2Ba财产。gydF4y2Ba

%设备下拉gydF4y2Badd1 = uidropdown (g);dd1。项= {gydF4y2Ba选择一个设备的gydF4y2Ba};gydF4y2Ba%范围下拉gydF4y2Badd2 = uidropdown (g);dd2。项= {gydF4y2Ba选择一个范围的gydF4y2Ba};dd2.Layout。行= 2;dd2.Layout。列= 1;gydF4y2Ba%列表框gydF4y2Bachanlist = uilistbox (g);chanlist。项= {gydF4y2Ba通道1的gydF4y2Ba,gydF4y2Ba通道2的gydF4y2Ba,gydF4y2Ba通道3的gydF4y2Ba};chanlist.Layout.Row = 3;chanlist.Layout.Column = 1;gydF4y2Ba%轴gydF4y2Baax = uiaxes (g);gydF4y2Ba

设置坐标轴跨越行1到行3,填充垂直空间。gydF4y2Ba

x. layout . row = [1 3];gydF4y2Ba

当您调整数字的大小时,坐标轴会增长和收缩,以填充左边列没有使用的可用空间。左边的组件保持不变,因为该列被定义为gydF4y2Ba150gydF4y2Ba像素宽。gydF4y2Ba

当您为可变宽度列分配不同的权重时,每个列的宽度与权重成比例。可变高度的行以同样的方式分配空间。gydF4y2Ba

创建一个图形和一个2 × 2的网格。然后配置行高和列宽。在本例中,顶部行固定为40像素,而底部行具有可变的高度。这两列的宽度都是可变的,但是第二列的权重是第一列的两倍。因为网格是看不见的,所以图看起来是空的。gydF4y2Ba

无花果= uifigure (gydF4y2Ba“位置”gydF4y2Ba,[100 100 437 317]);G = uigridlayout(图,[2 2]);g.RowHeight = {40,gydF4y2Ba“1 x”gydF4y2Ba};g.ColumnWidth = {gydF4y2Ba“1 x”gydF4y2Ba,gydF4y2Ba“2 x”gydF4y2Ba};gydF4y2Ba

在第一行的两列上添加一个标签。然后向底部行的每一列添加一个轴组件。gydF4y2Ba

%添加标题gydF4y2Ba标题= uilabel (g,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba的市场趋势gydF4y2Ba);标题。HorizontalAlignment =gydF4y2Ba“中心”gydF4y2Ba;标题。字形大小= 24;title.Layout.Row = 1;title.Layout.Column = [1, 2];gydF4y2Ba两轴相加gydF4y2Baax₁= uiaxes (g);ax2 = uiaxes (g);gydF4y2Ba

因为左列的权重是gydF4y2Ba1gydF4y2Ba,右栏的权重为gydF4y2Ba2gydF4y2Ba,右边的坐标轴使用的水平空间是左边坐标轴的两倍。当您调整图形的大小时,网格将保持此比率。gydF4y2Ba

在面板中安排UI组件的一种方法是在面板中创建网格。gydF4y2Ba

创建一个图形和一个1乘2的网格。然后配置列宽度。在本例中,左列固定为gydF4y2Ba220gydF4y2Ba像素,而右列的宽度是可变的。因为网格是看不见的,所以图看起来是空的。gydF4y2Ba

无花果= uifigure (gydF4y2Ba“位置”gydF4y2Ba,[100 100 500 315]);Grid1 = uigridlayout(图,[1 2]);grid1。ColumnWidth = {220,gydF4y2Ba“1 x”gydF4y2Ba};gydF4y2Ba

添加面板和轴gydF4y2Bagrid1gydF4y2Ba.gydF4y2Ba

p = uipanel (grid1gydF4y2Ba“标题”gydF4y2Ba,gydF4y2Ba“配置”gydF4y2Ba);ax = uiaxes (grid1);gydF4y2Ba

创建一个名为gydF4y2Bagrid2gydF4y2Ba在面板。然后放入三个组件和三个标签gydF4y2Bagrid2gydF4y2Ba.左边的一栏gydF4y2Bagrid2gydF4y2Ba将标签与组件对齐。由于每行只使用22个像素,面板在第三行下面有额外的空间。gydF4y2Ba

%面板中的网格gydF4y2BaGrid2 = uigridlayout(p,[3 2]);grid2。RowHeight ={22日22日22};grid2。ColumnWidth = {80,gydF4y2Ba“1 x”gydF4y2Ba};gydF4y2Ba%设备标签gydF4y2Badlabel = uilabel (grid2);dlabel。HorizontalAlignment =gydF4y2Ba“对”gydF4y2Ba;dlabel。文本=gydF4y2Ba“设备”gydF4y2Ba;gydF4y2Ba%设备下拉gydF4y2Badevicedd = uidropdown (grid2);devicedd。项= {gydF4y2Ba选择一个设备的gydF4y2Ba};gydF4y2Ba%频道标签gydF4y2Bachlabel = uilabel (grid2);chlabel。HorizontalAlignment =gydF4y2Ba“对”gydF4y2Ba;chlabel。文本=gydF4y2Ba“通道”gydF4y2Ba;gydF4y2Ba%通道下拉gydF4y2Bachanneldd = uidropdown (grid2);channeldd。项= {gydF4y2Ba通道1的gydF4y2Ba,gydF4y2Ba通道2的gydF4y2Ba};gydF4y2Ba%的速度标签gydF4y2Baratelabel = uilabel (grid2);ratelabel。HorizontalAlignment =gydF4y2Ba“对”gydF4y2Ba;ratelabel。文本=gydF4y2Ba“速度(扫描/ s)”gydF4y2Ba;gydF4y2Ba%速率编辑字段gydF4y2Baef = uieditfield (grid2,gydF4y2Ba“数字”gydF4y2Ba);ef。值= 50;gydF4y2Ba

当您调整图形的大小时,坐标轴会增长和收缩,以填充左侧列所对应的可用空间gydF4y2Bagrid1gydF4y2Ba不使用。面板保持固定,因为该列被定义为220像素宽。gydF4y2Ba

嵌套网格允许您管理组件的子集。在本例中,有三个网格:一个网格覆盖整个图形,第二个网格管理组件的垂直堆栈,第三个网格管理垂直堆栈底部并排的两个按钮。gydF4y2Ba

创建一个图形和一个1乘2的网格。然后配置列宽度。在本例中,左列固定为gydF4y2Ba150gydF4y2Ba像素,而右列的宽度是可变的。因为网格是看不见的,所以图看起来是空的。gydF4y2Ba

无花果= uifigure (gydF4y2Ba“位置”gydF4y2Ba,[100 100 500 315]);Grid1 = uigridlayout(图,[1 2]);grid1。ColumnWidth = {150,gydF4y2Ba“1 x”gydF4y2Ba};gydF4y2Ba

创建一个4乘1的网格,称为gydF4y2Bagrid2gydF4y2Ba在的第一列中gydF4y2Bagrid1gydF4y2Ba.然后向的第二列添加一个轴组件gydF4y2Bagrid1gydF4y2Ba.gydF4y2Ba

grid1 = uigridlayout(grid1,[4 1]);grid2。RowHeight ={22日,22日,22日,44};ax = uiaxes (grid1);gydF4y2Ba

的前三行添加三个下拉列表gydF4y2Bagrid2gydF4y2Ba.gydF4y2Ba

%的路线下拉gydF4y2BaddRoutes = uidropdown (grid2);ddRoutes。项= {gydF4y2Ba“路线1”gydF4y2Ba,gydF4y2Ba《路线2》gydF4y2Ba};gydF4y2Ba%的方向拉gydF4y2BaddDirection = uidropdown (grid2);ddDirection。项= {gydF4y2Ba“入站”gydF4y2Ba,gydF4y2Ba“出站”gydF4y2Ba};gydF4y2Ba%的时间拉gydF4y2BaddTime = uidropdown (grid2);ddTime。项= {gydF4y2Ba“早晨”gydF4y2Ba,gydF4y2Ba“下午”gydF4y2Ba};gydF4y2Ba

创建一个1乘2的网格,称为gydF4y2Bagrid3gydF4y2Ba在最后一排gydF4y2Bagrid2gydF4y2Ba.然后添加两个按钮gydF4y2Bagrid3gydF4y2Ba.删除的左右边缘的填充gydF4y2Bagrid3gydF4y2Ba以便按钮与下拉框的左右边缘对齐。gydF4y2Ba

Grid3 = uigridlayout(grid2,[1 2]);grid3。Padding = [0 10 0 10];b1 = uibutton (grid3,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba“开始”gydF4y2Ba);b2 = uibutton (grid3,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba“停止”gydF4y2Ba);gydF4y2Ba

当您调整图形的大小时,坐标轴会增长和收缩,以填充左侧列所对应的可用空间gydF4y2Bagrid1gydF4y2Ba不使用。左边的组件保持不变,因为该列被定义为gydF4y2Ba150gydF4y2Ba像素宽。gydF4y2Ba

通过指定像素坐标或位置名,将可滚动网格布局的子组件带入视图。gydF4y2Ba

创建一个5乘2的网格布局,并设置gydF4y2Ba可滚动gydF4y2Ba属性gydF4y2Ba“上”gydF4y2Ba.然后向网格添加标签、表格和面板。设置gydF4y2Ba可滚动gydF4y2Ba属性gydF4y2Ba“关闭”gydF4y2Ba然后在面板上添加一个图表。gydF4y2Ba

无花果= uifigure (gydF4y2Ba“位置”gydF4y2Ba,[782 497 435 311]);g = uigridlayout(无花果,gydF4y2Ba“滚动”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba);g.RowHeight ={22400年22岁,40岁,22日};g.ColumnWidth = {400400};lbl = uilabel (g,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba“海啸”gydF4y2Ba);lbl.Layout.Row = 2;lbl.Layout.Column = [1, 2];lbl。HorizontalAlignment =gydF4y2Ba“中心”gydF4y2Ba;lbl。字形大小= 28;海啸= readtable (gydF4y2Ba“tsunamis.xlsx”gydF4y2Ba);海啸。导致=分类(tsunamis.Cause);ui表(g, t =gydF4y2Ba“数据”gydF4y2Ba、海啸);t.Layout.Row =(3、5);t.Layout.Column = 2;p = uipanel (g);p.Scrollable =gydF4y2Ba“关闭”gydF4y2Ba;p.Layout.Row =(3、5);p.Layout.Column = 1;gb = geobubble (p tsunamis.Latitude tsunamis.Longitude,gydF4y2Ba...gydF4y2Batsunamis.MaxHeight tsunamis.Cause);gydF4y2Ba

滚动到网格中的某个位置。gydF4y2Ba

滚动(g、100、-30)gydF4y2Ba

现在使用位置名称滚动到网格的右下角。gydF4y2Ba

滚动(g,gydF4y2Ba“底”gydF4y2Ba,gydF4y2Ba“对”gydF4y2Ba)gydF4y2Ba

创建一个网格布局管理器,当你将标签之类的组件添加到应用程序中时,或者当基于文本的组件的字体大小动态变化时,它会自动调整行和列的大小,以适应这些组件。gydF4y2Ba

创建一个5乘2的网格布局管理器。指定gydF4y2Ba“健康”gydF4y2Ba为第一列宽度和前四行高度。gydF4y2Ba

无花果= uifigure (gydF4y2Ba“位置”gydF4y2Ba,[500 500 430 310]);g = uigridlayout(图);g.ColumnWidth = {gydF4y2Ba“健康”gydF4y2Ba, 120,gydF4y2Ba“1 x”gydF4y2Ba};g.RowHeight = {gydF4y2Ba“健康”gydF4y2Ba,gydF4y2Ba“健康”gydF4y2Ba,gydF4y2Ba“健康”gydF4y2Ba,gydF4y2Ba“健康”gydF4y2Ba,gydF4y2Ba“1 x”gydF4y2Ba};gydF4y2Ba

创建一个横跨所有列的标题标签。然后,沿着第一列和第二列的行创建标签和控件。最后,在最后一列中创建一个跨行2到5的表UI组件。注意,当您将组件添加到带有gydF4y2Ba“健康”gydF4y2Ba高度和宽度,这些行和列的大小自动调整以适应新的内容。gydF4y2Ba

patientLabel = uilabel (g,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba”病人:“gydF4y2Ba);patientLabel.Layout.Row = 2;patientLabel.Layout.Column = 1;patientEdit = uieditfield (g);ageLabel = uilabel (g,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba的年龄:gydF4y2Ba);ageLabel.Layout.Row = 3;ageLabel.Layout.Column = 1;ageEdit = uidropdown (g,gydF4y2Ba“项目”gydF4y2Ba,{gydF4y2Ba' < 20 'gydF4y2Ba,gydF4y2Ba20 - 40的gydF4y2Ba,gydF4y2Ba40 - 60的gydF4y2Ba,gydF4y2Ba> 60岁的gydF4y2Ba});stateLabel = uilabel (g,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba的状态:gydF4y2Ba);stateLabel。VerticalAlignment =gydF4y2Ba“高级”gydF4y2Ba;stateLabel.Layout.Row = 4;stateLabel.Layout.Column = 1;stateLB = uilistbox (g,gydF4y2Ba“项目”gydF4y2Ba,{gydF4y2Ba“马”gydF4y2Ba,gydF4y2Ba“我们”gydF4y2Ba,gydF4y2Ba“为什么”gydF4y2Ba});tdata = readtable (gydF4y2Ba“patients.dat”gydF4y2Ba);外的=场上(g);外的。数据= tdata;suit . layout . row = [2 5];uit.Layout.Column = 3;gydF4y2Ba

现在,更改网格中所有UI组件的字体名称和字体大小。gydF4y2Ba

集(allchild (g),gydF4y2Ba“字体名”gydF4y2Ba,gydF4y2Ba“明星控制台”gydF4y2Ba,gydF4y2Ba“字形大小”gydF4y2Ba, 20)gydF4y2Ba

根据下拉菜单中的用户选择,在网格的一行中隐藏组件。gydF4y2Ba

创建一个名为gydF4y2Bashowhide.mgydF4y2Ba.在这个文件中,gydF4y2Ba

  • 在图中创建一个1乘2的网格并调用它gydF4y2Bagrid1gydF4y2Ba.使用此网格可以管理面板和轴组件。gydF4y2Ba

  • 在面板内创建一个3乘2的网格并调用它gydF4y2Bagrid2gydF4y2Ba.使用此网格可以管理下拉菜单、两个微调器及其标签的布局。gydF4y2Ba

  • 创建被调用的回调函数gydF4y2BafindMethodSelectedgydF4y2Ba为下拉菜单。当下拉菜单的值变为gydF4y2Ba四分位数的gydF4y2Ba的第二行中隐藏组件gydF4y2Bagrid2gydF4y2Ba通过设置gydF4y2Bagrid2。RowHeight {2}gydF4y2Ba来gydF4y2Ba0gydF4y2Ba.gydF4y2Ba

然后,运行该文件。gydF4y2Ba

函数gydF4y2BaShowhide f = uifigure(gydF4y2Ba“名字”gydF4y2Ba,gydF4y2Ba“统计分析”gydF4y2Ba);gydF4y2Ba在图中创建grid1gydF4y2Bagrid1 = uigridlayout (f);grid1。RowHeight = {gydF4y2Ba“1 x”gydF4y2Ba};grid1。ColumnWidth = {220,gydF4y2Ba“1 x”gydF4y2Ba};gydF4y2Ba%添加面板和轴gydF4y2Bap = uipanel (grid1);ax = uiaxes (grid1);gydF4y2Ba在面板中创建grid2gydF4y2Bagrid2 = uigridlayout (p);grid2。RowHeight = {22, 22, 22};grid2。ColumnWidth = {80,gydF4y2Ba“1 x”gydF4y2Ba};gydF4y2Ba%添加方法标签和下拉菜单gydF4y2BafindMethodLabel = uilabel (grid2,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba“找到方法:”gydF4y2Ba);findMethod = uidropdown (grid2);findMethod。项= {gydF4y2Ba“移动平均”gydF4y2Ba,gydF4y2Ba四分位数的gydF4y2Ba};findMethod。价值ChangedFcn = @findMethodSelected;%添加窗口大小标签和微调器gydF4y2BawinSizeLabel = uilabel (grid2,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba的窗口大小:gydF4y2Ba);winSize = uispinner (grid2,gydF4y2Ba“价值”gydF4y2Ba, 0);gydF4y2Ba%添加阈值标签和微调器gydF4y2BathresLabel = uilabel (grid2,gydF4y2Ba“文本”gydF4y2Ba,gydF4y2Ba的阈值:gydF4y2Ba);用力推= uispinner (grid2,gydF4y2Ba“价值”gydF4y2Ba3);gydF4y2Ba函数gydF4y2BafindMethodSelected(src,~)方法= src. value;gydF4y2Ba开关gydF4y2Ba方法gydF4y2Ba情况下gydF4y2Ba四分位数的gydF4y2Ba%折叠第二行(隐藏winSize旋转器)gydF4y2Bagrid2。RowHeight {2} = 0;gydF4y2Ba情况下gydF4y2Ba“移动平均”gydF4y2Ba%展开第二行gydF4y2Bagrid2。RowHeight {2} = 22;gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba

当你设置gydF4y2Ba找到方法gydF4y2Ba来gydF4y2Ba四分位数gydF4y2Ba在应用程序中gydF4y2Ba窗口大小gydF4y2Ba标签和它旁边的旋转器将被隐藏。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

父容器,指定为gydF4y2Ba数字gydF4y2Ba使用gydF4y2BauifiguregydF4y2Ba函数或其子容器之一:gydF4y2Ba选项卡gydF4y2Ba,gydF4y2Ba面板gydF4y2Ba,gydF4y2BaButtonGroupgydF4y2Ba,或gydF4y2BaGridLayoutgydF4y2Ba.如果没有指定父容器,则MATLAB调用gydF4y2BauifiguregydF4y2Ba函数创建一个新的gydF4y2Ba数字gydF4y2Ba作为父容器的对象。gydF4y2Ba

网格的大小,指定为两元素向量。第一个元素是行数,第二个元素是列数。两个值都必须大于gydF4y2Ba0gydF4y2Ba.指定此参数而不设置gydF4y2BaRowHeightgydF4y2Ba或gydF4y2BaColumnWidthgydF4y2Ba属性时,MATLAB自动设置行高和列宽为gydF4y2Ba“1 x”gydF4y2Ba.gydF4y2Ba

名称-值对的观点gydF4y2Ba

指定可选的逗号分隔的对gydF4y2Ba名称,值gydF4y2Ba参数。gydF4y2Ba的名字gydF4y2Ba参数名和gydF4y2Ba价值gydF4y2Ba为对应值。gydF4y2Ba的名字gydF4y2Ba必须出现在引号内。可以以任意顺序指定多个名称和值对参数gydF4y2BaName1, Value1,…,的家gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Bauigridlayout (RowHeight, {100100})gydF4y2Ba创建一个网格,包含高度为100像素的两行。gydF4y2Ba

请注意gydF4y2Ba

这里列出的属性只是一个子集。有关完整列表,请参见gydF4y2BaGridLayout属性gydF4y2Ba.gydF4y2Ba

列宽度,指定为包含其中任一项的单元格数组gydF4y2Ba“健康”gydF4y2Ba,数字,或数字配对gydF4y2Ba“x”gydF4y2Ba字符。您可以指定任何值的组合。单元格数组中的元素数控制网格中的列数。例如,要创建4列网格,请指定1 × 4单元格数组。列宽度可以指定为字符串数组或数字数组,仅当指定的元素具有相同类型时,如gydF4y2Ba[" 1 x”“2 x”x“1”)gydF4y2Ba或gydF4y2Ba(100 200)gydF4y2Ba.gydF4y2Ba

有三种不同类型的栏宽:gydF4y2Ba

  • 适合宽度-指定gydF4y2Ba“健康”gydF4y2Ba.列宽度自动调整以适应其内容。对于基于文本的组件,gydF4y2Ba“健康”gydF4y2Ba宽度调整与字体属性,以显示整个文本。对于非基于文本的组件,gydF4y2Ba“健康”gydF4y2Ba宽度是基于组件的默认大小和其他因素。使用gydF4y2Ba“健康”gydF4y2Ba宽度,如果你想避免硬编码的列宽度,以适应组件,或如果你的应用程序被翻译成另一种语言或运行在不同的平台。gydF4y2Ba

  • 固定宽度(像素)-指定一个数字。列宽度固定在您指定的像素数上。当父容器调整大小时,列宽度不变。gydF4y2Ba

  • 可变宽度-指定一个数字与gydF4y2Ba“x”gydF4y2Ba字符(例如,gydF4y2Ba“1 x”gydF4y2Ba).当父容器调整大小时,列宽度会增大或缩小。可变宽度列填充固定宽度列没有使用的剩余水平空间。你配对的号码gydF4y2Ba“x”gydF4y2Ba字符是用于在所有可变宽度列之间划分剩余空间的权重。如果网格只有一个可变宽度的列,那么它将使用所有剩余的空间,而不管数字是多少。如果有多个可变宽度列使用相同的数字,则它们平等地共享空间。否则,空间的数量与数量成正比。gydF4y2Ba

例如,gydF4y2Ba{“适合”,200年,“2 x”,“1 x”}gydF4y2Ba指定第一列的宽度调整为适合其内容的大小,第二列固定为200像素,最后两列共享剩余的水平空间。第三列使用的空间是第四列的两倍。gydF4y2Ba

改变布局的某些方面可能会影响此属性的值。例如,向完全填充的网格中添加更多组件会改变网格的大小以适应新组件。gydF4y2Ba

改变了gydF4y2BaColumnWidthgydF4y2Ba属性不会更改已包含组件的网格布局的布局。例如,如果试图动态删除包含组件的列,则gydF4y2BaColumnWidthgydF4y2Ba属性在将这些组件移出该列之前不会更改。gydF4y2Ba

行高度,指定为包含其中任意一个的单元格数组gydF4y2Ba“健康”gydF4y2Ba,数字,或数字配对gydF4y2Ba“x”gydF4y2Ba字符。您可以指定任何值的组合。单元格数组中的元素数控制网格中的行数。例如,要创建有4行的网格,请指定1 × 4单元格数组。行高可以指定为字符串数组或数字数组,仅当指定的元素具有相同类型时,如gydF4y2Ba[" 1 x”“2 x”x“1”)gydF4y2Ba或gydF4y2Ba(100 200)gydF4y2Ba.gydF4y2Ba

有三种不同类型的行高:gydF4y2Ba

  • 适合高度-指定gydF4y2Ba“健康”gydF4y2Ba.行高度自动调整以适应其内容。对于基于文本的组件,gydF4y2Ba“健康”gydF4y2Ba高度调整与字体属性,以显示整个文本。对于非基于文本的组件,gydF4y2Ba“健康”gydF4y2Ba高度是基于组件的默认大小和其他因素。使用gydF4y2Ba“健康”gydF4y2Ba如果你想避免硬编码行高以适应组件,或如果你的应用程序被翻译成另一种语言或运行在不同的平台上,高度。gydF4y2Ba

  • 固定高度(像素)-指定一个数字。行高度固定为您指定的像素数。当父容器调整大小时,行高度不变。gydF4y2Ba

  • 可变高度-指定一个数字与gydF4y2Ba“x”gydF4y2Ba字符(例如,gydF4y2Ba“1 x”gydF4y2Ba).当父容器调整大小时,行会增大或缩小。可变高度行填充固定高度行不使用的剩余垂直空间。你配对的号码gydF4y2Ba“x”gydF4y2Ba字符是一个权重,用于划分所有可变高度行之间的剩余空间。如果网格只有一个可变高度的行,那么它将使用所有剩余的空间,而不管数量如何。如果有多个使用相同数字的可变高度行,则它们平等地共享空间。否则,空间的数量与数量成正比。gydF4y2Ba

例如,gydF4y2Ba{“适合”,200年,“2 x”,“1 x”}gydF4y2Ba指定将第一行的高度设置为适合其内容的大小,第二行固定为200像素,最后两行共享剩余的垂直空间。第三行占用的空间是第四行的两倍。gydF4y2Ba

改变布局的某些方面可能会影响此属性的值。例如,向完全填充的网格中添加更多组件会改变网格的大小以适应新组件。gydF4y2Ba

改变了gydF4y2BaRowHeightgydF4y2Ba属性不会更改已包含组件的网格布局的布局。例如,如果尝试动态删除包含组件的行,则gydF4y2BaRowHeightgydF4y2Ba属性在将这些组件移出该行之前不会更改。gydF4y2Ba

提示gydF4y2Ba

要查看网格中的组件对象列表,请查询gydF4y2Ba孩子们gydF4y2Ba属性。更改列表中的顺序不会更改网格中的布局。gydF4y2Ba

兼容性的考虑gydF4y2Ba

全部展开gydF4y2Ba

行为在R2020b中改变gydF4y2Ba

另请参阅gydF4y2Ba

功能gydF4y2Ba

属性gydF4y2Ba

介绍了R2018bgydF4y2Ba