主要内容

GridLayout属性

控制网格布局管理器行为

网格布局管理器将UI组件沿着不可见网格的行和列进行定位,该网格横跨整个图形或图形中的容器。通过更改网格布局的属性值,可以修改其行为的某些方面。使用点符号来引用特定的对象和属性:

无花果= uifigure;g = uigridlayout(图);g.ColumnWidth ={100年,' 1 x '};

网格

全部展开

列宽,指定为包含“健康”、数字或与之配对的数字“x”人物。可以指定值的任意组合。单元数组中的元素数控制网格中的列数。例如,要创建4列格线,请指定1×4单元阵列。列宽可以指定为字符串数组或数字数组,前提是指定的元素类型相同,如[“1x”2x“1x”][100 200 50]

有三种不同类型的栏宽:

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

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

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

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

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

改变列宽属性不会更改组件的布局。例如,如果尝试动态删除包含组件的列,则列宽属性在将这些组件移出该列之前不会更改。

行高,指定为包含“健康”、数字或与之配对的数字“x”人物。可以指定值的任意组合。单元数组中的元素数控制网格中的行数。例如,要创建具有4行的网格,请指定1×4单元格数组。行高度可以指定为字符串数组或数字数组,仅当指定的元素类型相同时,如[“1x”2x“1x”][100 200 50]

有三种不同类型的行高:

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

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

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

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

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

改变行高属性不会更改组件的布局。例如,如果尝试动态删除包含组件的行,则行高属性不会更改,直到将这些组件移出该行。

列间距,指定为网格中相邻列之间的标量像素数。指定的数字适用于所有列。

行间距,指定为网格中相邻行之间的标量像素数。指定的数字适用于所有行。

围绕网格外围的填充,指定为窗体的矢量[左下右上].向量的元素如下表所述。

向量元素 描述

父容器左内边缘和栅格左边缘之间的距离(像素)。

底部

父容器的内底边与网格的底边之间的距离(以像素为单位)。

正确的

父容器的右内边缘与网格的右边缘之间的像素距离。

父容器的内上边缘与网格的上边缘之间的距离(以像素为单位)。父容器的内上边缘从所有装饰(如标题、选项卡标签或菜单栏)下方开始。

背景颜色,指定为RGB三元组、十六进制颜色代码或表中列出的颜色选项之一。

RGB三元组和十六进制颜色代码用于指定自定义颜色。

  • RGB三元组是一个由三个元素组成的行向量,其元素指定颜色的红色、绿色和蓝色组件的强度。强度必须在这个范围内[0, 1]例如(0.4 0.6 0.7)

  • 十六进制颜色代码是以哈希符号开头的字符向量或字符串标量()后跟三个或六个十六进制数字,其范围为0F。值不区分大小写。因此,颜色代码“#FF8800”“# ff8800”“# F80”,“# f80”是等价的。

或者,您可以通过名称指定一些常见的颜色。该表列出了已命名的颜色选项、等价的RGB三联体和十六进制颜色代码。

颜色名称 简称 RGB值 十六进制颜色代码 外观
“红色” “r” (1 0 0) “# FF0000”

“绿色” “g” [0 1 0] “# 00 ff00”

“蓝色” “b” (0 0 1) “# 0000 ff”

“青色” “c” [0 1 1] “#00FFFF”

“红色” “米” [1 0 1] “#FF00FF”

“黄色” “y” (1 1 0) “# FFFF00”

“黑色” “k” [0 0 0] # 000000的

“白色” ' w ' (1 1 1) “# FFFFFF”

以下是默认颜色的RGB三元组和十六进制颜色代码®用于多种类型的绘图。

RGB值 十六进制颜色代码 外观
[0 0.4470 - 0.7410) “#0072BD”

(0.8500 0.3250 0.0980) “# D95319”

(0.9290 0.6940 0.1250) “# EDB120”

[0.4940 0.1840 0.5560] “# 7 e2f8e”

(0.4660 0.6740 0.1880) “# 77 ac30”

(0.3010 0.7450 0.9330) “# 4 dbeee”

[0.6350 0.0780 0.1840] “# A2142F”

互动性

全部展开

子对象的可见性,指定为“上”“关”. , 或作为数字或逻辑1符合事实的)或0).的值“上”相当于符合事实的,“关”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

将此属性设置为“关”隐藏网格中的所有子组件及其后代组件。孩子和他们的后代都被隐藏着,不管他们的价值看得见的属性。当组件被隐藏时,您可以获取和设置它们的属性,即使它们没有出现在应用程序中。

当您将此属性设置为“上”在美国,只有当他们的看得见的属性也设置为“上”

设定看得见的网格上的属性不会更改看得见的其后代的属性。

滚动能力,指定为“关”“上”,或作为数字或逻辑1符合事实的)或0).的值“上”相当于符合事实的,“关”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

将此属性设置为“上”启用网格布局管理器内的滚动。要滚动,还必须满足以下条件:

  • 属性指定的值的和“RowHeight”属性的值必须大于父容器的高度。

  • 属性指定的值的和“ColumnWidth”属性的值必须大于父容器的宽度。

  • 必须将网格布局管理器的至少一行或一列设置为固定像素的高度或宽度。

  • 网格布局管理器必须包含组件。

某些类型的图表和轴不支持可滚动容器。金宝app但是,您可以将图表或轴放置在不可滚动的面板中,然后将面板放置在可滚动的容器中。有关更多信息,请参见在App Designer中显示图形

上下文菜单,指定为上下文菜单对象。当您右击网格布局管理器时,使用此属性显示上下文菜单。控件创建上下文菜单uicontextmenu函数。

位置

全部展开

布局选项,指定为GridLayoutOptions对象。此属性指定嵌套网格布局容器的选项。如果网格布局不是其他网格布局容器的子级(例如,它是图形或面板的子级),则此属性为空且无效。但是,如果网格布局是另一个网格布局的子网格,则可以通过设置一行属性GridLayoutOptions对象。

例如,此代码嵌套grid2在第三行第二列grid1

Grid1 = uigridlayout([4 3]);grid2 = uigridlayout (grid1);grid2.Layout。行= 3;grid2.Layout。列= 2;
要使子网格跨越其父网格的多行或多列,请指定一行属性为二元素向量。例如,这个命令的范围grid2过栏2通过3.属于grid1
grid2.Layout.Column=[23];

回调

全部展开

对象创建函数,指定为以下值之一:

  • 函数处理。

  • 单元格数组,其中第一个元素是函数句柄。cell数组中的后续元素是要传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算此表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在应用程序设计器中编写回调

此属性指定MATLAB创建对象时执行的回调函数。方法之前,MATLAB初始化所有属性值创建FCN回调。如果不指定创建FCN属性,然后MATLAB执行默认的创建函数。

设定创建FCN现有组件上的属性无效。

如果将此属性指定为函数句柄或单元格数组,则可以访问使用回调函数的第一个参数创建的对象。否则,请使用gcbo函数来访问对象。

对象删除函数,指定为以下值之一:

  • 函数处理。

  • 单元格数组,其中第一个元素是函数句柄。cell数组中的后续元素是要传递给回调函数的参数。

  • 包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算此表达式。

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在应用程序设计器中编写回调

此属性指定当MATLAB删除对象时执行的回调函数。MATLAB执行删除FCN在销毁对象的属性之前回调。如果不指定删除FCN属性,然后MATLAB执行默认的删除函数。

如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问要删除的对象。否则,使用gcbo函数来访问对象。

回调执行控制

全部展开

回调中断,指定为“上”“关”,或作为数字或逻辑1符合事实的)或0).的值“上”相当于符合事实的,“关”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

此属性确定是否可以中断正在运行的回调。有两种回调状态需要考虑:

  • 跑步callback是当前正在执行的回调。

  • 打断callback是试图中断正在运行的回调的回调。

每当MATLAB调用回调时,该回调都会尝试中断正在运行的回调(如果存在)可中断属性决定是否允许中断。

  • 的值“上”允许其他回调中断对象的回调。中断发生在MATLAB处理队列的下一个点上,例如当存在drawnow图形uifiguregetframe等待暂停命令

    • 如果正在运行的回调函数包含其中一个命令,那么MATLAB将在此时停止回调函数的执行,并执行中断回调函数。当中断回调完成时,MATLAB继续执行正在运行的回调。

    • 如果正在运行的回调函数不包含这些命令之一,那么MATLAB将在不中断的情况下完成回调函数的执行。

  • 的值“关”阻止所有中断尝试。的BusyAction拥有中断回调的对象的属性决定中断回调是否被丢弃或放入队列中。

请注意

回调中断和执行在以下情况下表现不同:

  • 如果中断回调是删除FCN关闭请求FCNSizeChangedFcn回调,则中断发生不管可中断属性值。

  • 如果正在运行的回调当前正在执行等待函数,则无论可中断属性值。

  • 计时器对象根据计划执行,而不考虑可中断属性值。

当发生中断时,MATLAB不会保存属性或显示的状态gcagcf命令可能在执行另一个回调时更改。

回调排队,指定为“队列”“取消”.的BusyAction属性决定了MATLAB如何处理中断回调的执行。有两种回调状态需要考虑:

  • 跑步callback是当前正在执行的回调。

  • 打断callback是试图中断正在运行的回调的回调。

当MATLAB调用回调时,回调试图中断正在运行的回调。的可中断拥有运行回调的对象的属性确定是否允许中断。如果不允许中断,则BusyAction拥有中断回调的对象的属性决定了它是被丢弃还是放入队列中。这些是可能的值BusyAction财产:

  • “队列”-在正在运行的回调完成执行后,将中断回调放入要处理的队列中。

  • “取消”—不执行中断回呼。

此属性是只读的。

删除状态,返回类型为开/关逻辑值matlab.lang.OnOffSwitchState

MATLAB设置被删除财产“上”删除FCN回调开始执行被删除属性仍然设置为“上”直到组件对象不再存在。

检查被删除属性来验证对象在查询或修改之前不会被删除。

父母/子女

全部展开

父容器,指定为图形使用uifigure函数或其子容器之一:标签面板按钮组GridLayout.如果没有指定容器,则MATLAB调用uifigure函数创建一个新的图形对象,该对象用作父容器。

子项,作为UI组件对象数组返回。使用此属性可查看子项列表,或通过将属性设置为自身的排列来重新排序子项。不能使用此属性添加或删除子项。若要将子项添加到此列表,请将父母亲子UI组件的属性。

重新排序子节点对组件在网格中的位置没有影响。若要更改组件在网格中的位置,请设置其布局财产。

对象句柄的可见性,指定为“上”“回调”“关”

此属性控制对象在其父的子列表中的可见性。当一个对象在其父的子列表中不可见时,通过搜索对象层次结构或查询属性获取对象的函数不会返回该对象。这些功能包括收到芬多布吉clf,关闭. 对象即使不可见也有效。如果可以访问对象,则可以设置并获取其属性,并将其传递给对对象进行操作的任何函数。

可处理性值 描述
“上” 对象始终可见。
“回调” 对象在回调或由回调调用的函数中可见,但在从命令行调用的函数中不可见。这个选项阻止在命令行中访问对象,但允许回调函数访问它。
“关” 对象始终不可见。此选项有助于防止其他函数对UI进行意外更改。设置可操作性“关”在函数执行期间暂时隐藏对象。

标识符

全部展开

此属性是只读的。

图形对象的类型,返回为“uigridlayout”

对象标识符,指定为字符向量或字符串标量。你可以指定一个唯一的标签值用作对象的标识符。当您需要访问代码中其他位置的对象时,可以使用芬多布吉函数搜索对象标签价值

用户数据,指定为任何MATLAB数组。例如,可以指定标量、向量、矩阵、单元格数组、字符数组、表或结构。使用此属性可在对象上存储任意数据。

如果您在应用程序设计器中工作,请在应用程序中创建公共或私有属性以共享数据,而不是使用用户数据属性。有关详细信息,请参阅在应用程序设计器应用程序中共享数据

介绍了R2018b