GridLayout属性
网格布局管理器沿着跨越整个图形或图形中的容器的不可见网格的行和列定位UI组件。通过更改网格布局的属性值,可以修改其行为的某些方面。使用点表示法来引用特定的对象和属性:
FIG = ufigure;G = uigridlayout(图);g.ColumnWidth = {100,'1x'};
网格
ColumnWidth
- - - - - -列宽
{' 1 x ', ' 1 x '}
(默认)|单元阵列|字符串数组|数字数组
列宽度,指定为包含任意一个的单元格数组“健康”
、数字或与之配对的数字“x”
字符。您可以指定值的任意组合。单元格数组中的元素数量控制网格中的列数量。例如,要创建4列网格,请指定1 × 4单元格数组。列宽度可以指定为字符串数组或数字数组,前提是指定的元素类型相同,如["1x" "2x" "1x"]
或[100 200 50]
.
有三种不同类型的列宽度:
配合宽度-指定
“健康”
.列宽度自动调整以适应其内容。对于基于文本的组件,“健康”
宽度根据字体属性调整以显示整个文本。对于非基于文本的组件,“健康”
宽度基于组件的默认大小和其他因素。使用“健康”
如果你想避免硬编码列宽度以适应组件,或者如果你的应用程序被翻译成另一种语言或在不同的平台上运行。固定宽度(像素)-指定一个数字。列宽度固定于您指定的像素数。当父容器调整大小时,列宽度不会改变。
可变宽度-指定与
“x”
字符(例如,“1 x”
).当父容器调整大小时,列宽度会增加或缩小。可变宽度列填充固定宽度列不使用的剩余水平空间。你配对的数字“x”
字符是一个权重,用于在所有可变宽度列之间划分剩余空间。如果网格只有一个可变宽度的列,那么不管列的数量是多少,它都会使用所有剩余的空间。如果有多个可变宽度的列使用相同的数字,那么它们将平等地共享空间。否则,空间的大小与数字成正比。
例如,{“适合”,200年,“2 x”,“1 x”}
指定第一列的宽度大小适合其内容,第二列固定为200像素,最后两列共享剩余的水平空间。第三列占用的空间是第四列的两倍。
更改布局的某些方面可能会影响此属性的值。例如,向完全填充的网格添加更多组件将改变网格的大小以容纳新组件。
改变了ColumnWidth
属性不会更改已包含组件的网格布局。例如,如果尝试动态删除包含组件的列,则ColumnWidth
属性在将这些组件移出该列之前不会更改。
RowHeight
- - - - - -行高
{' 1 x ', ' 1 x '}
(默认)|单元阵列|字符串数组|数字数组
行高,指定为包含任意一个的单元格数组“健康”
、数字或与之配对的数字“x”
字符。您可以指定值的任意组合。单元格数组中的元素数量控制网格中的行数。例如,要创建有4行的网格,请指定1 × 4单元格数组。行高可以指定为字符串数组或数字数组,前提是指定的元素具有相同的类型,例如["1x" "2x" "1x"]
或[100 200 50]
.
有三种不同类型的行高:
配合高度-指定
“健康”
.行高自动调整以适应其内容。对于基于文本的组件,“健康”
高度随字体属性调整以显示整个文本。对于非基于文本的组件,“健康”
高度基于组件的默认大小和其他因素。使用“健康”
如果你想避免硬编码行高以适应组件,或者如果你的应用程序被翻译成另一种语言或在不同的平台上运行。以像素为单位的固定高度-指定一个数字。行高固定于您指定的像素数。当父容器调整大小时,行高不会改变。
可变高度-指定与
“x”
字符(例如,“1 x”
).当父容器调整大小时,行增大或缩小。可变高度行填充固定高度行不使用的剩余垂直空间。你配对的数字“x”
字符是一个权重,用于在所有可变高度行之间划分剩余空间。如果网格只有一个可变高度的行,那么不管数量多少,它都会使用所有剩余的空间。如果有多个可变高度的行使用相同的数字,那么它们将平等地共享空间。否则,空间的大小与数字成正比。
例如,{“适合”,200年,“2 x”,“1 x”}
指定第一行的高度大小适合其内容,第二行固定为200像素,最后两行共享剩余的垂直空间。第三行占用的空间是第四行的两倍。
更改布局的某些方面可能会影响此属性的值。例如,向完全填充的网格添加更多组件将改变网格的大小以容纳新组件。
改变了RowHeight
属性不会更改已包含组件的网格布局。例如,如果尝试动态删除包含组件的行,则RowHeight
属性在将这些组件移出该行之前不会更改。
列空间
- - - - - -列间距
10
(默认)|数量
列间距,指定为网格中相邻列之间像素的标量数。指定的数字适用于所有列。
行空间
- - - - - -行间距
10
(默认)|数量
行间距,指定为网格中相邻行之间像素的标量数。指定的数字适用于所有行。
填充
- - - - - -填充
[10 10 10 10 10]
(默认)|[左下右上]
填充网格的外周长,指定为窗体的矢量[左下右上]
.向量的元素如下表所示。
向量元素 | 描述 |
---|---|
左 |
父容器的内左边缘与网格的左边缘之间的距离(以像素为单位)。 |
底 |
父容器的内底边与网格的底边之间的距离(以像素为单位)。 |
正确的 |
父容器的内右边缘与网格的右边缘之间的距离(以像素为单位)。 |
前 |
父容器的内上边缘与网格上边缘之间的距离(以像素为单位)。父容器的内顶部边缘从标题、标签或菜单栏等所有装饰的下方开始。 |
颜色
写成BackgroundColor
- - - - - -背景颜色
[0.94 0.94 0.94]
(默认)|RGB值|十六进制颜色代码|“r”
|‘g’
|“b”
|……
背景色,指定为RGB三元组、十六进制颜色代码或表中列出的颜色选项之一。
RGB三组和十六进制颜色代码对于指定自定义颜色很有用。
RGB三元组是一个三元素行向量,其元素指定颜色的红、绿和蓝分量的强度。强度必须在这个范围内
[0, 1]
;例如,[0.4 0.6 0.7]
.十六进制颜色码是字符向量或以散列符号(
#
)后面跟着三个或六个十六进制数字,取值范围为0
来F
.这些值不区分大小写。因此,颜色代码“# FF8800”
,“# ff8800”
,“# F80”
,“# f80”
是等价的。
或者,您可以通过名称指定一些常用颜色。该表列出了已命名的颜色选项、等效的RGB三元组和十六进制颜色代码。
颜色名称 | 短名称 | RGB值 | 十六进制颜色代码 | 外观 |
---|---|---|---|---|
“红色” |
“r” |
[10 0 0] |
“# FF0000” |
|
“绿色” |
“g” |
[0 10 0] |
“# 00 ff00” |
|
“蓝色” |
“b” |
[0 0 1] |
“# 0000 ff” |
|
“青色” |
“c” |
[0 1 1] |
“# 00飞行符” |
|
“红色” |
“m” |
[10 0 1] |
“#”就 |
|
“黄色” |
“y” |
[11 10 0] |
“# FFFF00” |
|
“黑色” |
“k” |
[0 0 0] |
“000000 #” |
|
“白色” |
“w” |
[1 1 1] |
“# FFFFFF” |
|
这里是RGB三组和十六进制的颜色代码的默认颜色MATLAB®在许多类型的图中使用。
RGB值 | 十六进制颜色代码 | 外观 |
---|---|---|
[0 0.4470 0.7410] |
“# 0072 bd” |
|
[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
(假
).值为“上”
等于真正的
,“关闭”
等于假
.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState
.
将此属性设置为“关闭”
来隐藏网格中的所有子组件及其子组件。孩子和他们的后代是隐藏的,不管他们的价值可见
属性。当组件被隐藏时,即使它们没有出现在应用程序中,你也可以获取和设置它们的属性。
当您将此属性设置为“上”
,孩子和他们的后代只有在他们的可见
属性也设置为“上”
.
设置可见
属性的值不会更改可见
它的后代的属性。
可滚动
- - - - - -滚动的能力
“关闭”
(默认)|开/关逻辑值
滚动能力,指定为“关闭”
或“上”
,或作为数字或逻辑1
(真正的
)或0
(假
).值为“上”
等于真正的
,“关闭”
等于假
.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState
.
将此属性设置为“上”
允许在网格布局管理器中滚动。为了滚动,还必须满足以下条件:
属性指定的值的和
“RowHeight”
属性的值必须大于父容器的高度。属性指定的值的和
“ColumnWidth”
属性的值必须大于父容器的宽度。网格布局管理器中至少有一行或一列必须设置为固定的像素高度或宽度。
网格布局管理器必须包含组件。
某些类型的图表和轴不支持可滚动容器。金宝app但是,您可以将图表或轴放置在不可滚动的面板中,然后将面板放置在可滚动的容器中。有关更多信息,请参见在应用程序设计器中显示图形.
快捷菜单
- - - - - -上下文菜单
空GraphicsPlaceholder
数组(默认)|快捷菜单
对象
上下文菜单,指定为快捷菜单
对象。使用此属性可在右键单击网格布局管理器时显示上下文菜单。控件创建上下文菜单uicontextmenu
函数。
位置
位置
- - - - - -网格布局管理器的位置和大小
[左下宽高]
此属性是只读的。
网格布局管理器的位置和大小,作为表单的四个元素向量返回[左下宽高]
.该表描述了向量中的每个元素。
元素 | 描述 |
---|---|
左 |
父容器左内边缘到网格布局管理器左边缘的距离 |
底 |
从父容器的内底边到网格布局管理器的底边的距离 |
宽度 |
网格布局管理器左右边缘之间的距离 |
高度 |
网格布局管理器的底部和顶部边缘之间的距离 |
所有的测量都以像素为单位。
属性定义的区域位置
值(橙色实线)和InnerPosition
值(蓝色虚线)的网格布局管理器的一些UI组件。
InnerPosition
- - - - - -网格布局管理器的位置和大小,不包括填充
[左下宽高]
此属性是只读的。
网格布局管理器的位置和大小(不包括填充),作为表单的四元素向量返回[左下宽高]
.该表描述了向量中的每个元素。
元素 | 描述 |
---|---|
左 |
从父容器的左内边缘到可以放置组件的网格布局管理器区域的左内边缘的距离 |
底 |
从父容器的内底边到可以放置组件的网格布局管理器区域的内底边的距离 |
宽度 |
可以放置组件的网格布局管理器区域的左内边缘和右内边缘之间的距离 |
高度 |
可以放置组件的网格布局管理器区域的内底部和内顶部边缘之间的距离 |
所有的测量都以像素为单位。
的InnerPosition
的值影响填充
财产。如果填充
是[0 0 0 0]
,则InnerPosition
属性值与位置
属性值。
属性定义的区域位置
值(橙色实线)和InnerPosition
值(蓝色虚线)的网格布局管理器的一些UI组件。
OuterPosition
- - - - - -网格布局管理器的位置和大小
[左下宽高]
此属性是只读的。
网格布局管理器的位置和大小,作为表单的四个元素向量返回[左下宽高]
.所有的测量都以像素为单位。
属性值与位置
属性值用于网格布局管理器。
布局
- - - - - -布局选项
空LayoutOptions
数组(默认)|GridLayoutOptions
对象
布局选项,指定为GridLayoutOptions
对象。此属性指定嵌套网格布局容器的选项。如果网格布局不是另一个网格布局容器的子容器(例如,它是图形或面板的子容器),则此属性为空,不起作用。但是,如果网格布局是另一个网格布局的子网格,则可以将该子网格放置在父网格的所需行和列中行
而且列
属性GridLayoutOptions
对象。
例如,此代码嵌套grid2
的第三行第二列grid1
.
Grid1 = uigridlayout([4 3]);Grid2 = uigridlayout(grid1);grid2.Layout。Row = 3;grid2.Layout。列= 2;
行
或列
属性作为两元素向量。例如,这个命令跨越grid2
在列2
通过3.
的grid1
:grid2.Layout。列= [2 3];
回调
CreateFcn
- - - - - -创建函数
”
(默认)|函数处理|单元阵列|特征向量
对象创建函数,指定为以下值之一:
函数处理。
单元格数组,其中第一个元素是函数句柄。单元格数组中的后续元素是传递给回调函数的参数。
包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。
有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见应用程序设计器中的回调.
此属性指定在MATLAB创建对象时执行的回调函数。函数执行之前,MATLAB初始化所有属性值CreateFcn
回调。如果没有指定CreateFcn
属性,然后MATLAB执行默认的创建函数。
设置CreateFcn
属性在现有组件上不起作用。
如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在创建的对象。否则,使用gcbo
函数来访问对象。
DeleteFcn
- - - - - -删除函数
”
(默认)|函数处理|单元阵列|特征向量
对象删除函数,指定为以下值之一:
函数处理。
单元格数组,其中第一个元素是函数句柄。单元格数组中的后续元素是传递给回调函数的参数。
包含有效MATLAB表达式的字符向量(不推荐)。MATLAB在基本工作空间中计算这个表达式。
有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见应用程序设计器中的回调.
此属性指定在MATLAB删除对象时执行的回调函数。MATLAB执行DeleteFcn
在销毁对象的属性之前。如果没有指定DeleteFcn
属性,然后MATLAB执行默认删除函数。
如果将此属性指定为函数句柄或单元格数组,则可以使用回调函数的第一个参数访问正在删除的对象。否则,使用gcbo
函数来访问对象。
回调执行控制
可中断
- - - - - -回调中断
“上”
(默认)|开/关逻辑值
回调中断,指定为“上”
或“关闭”
,或作为数字或逻辑1
(真正的
)或0
(假
).值为“上”
等于真正的
,“关闭”
等于假
.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState
.
此属性决定是否可以中断正在运行的回调。有两种回调状态需要考虑:
的运行Callback是当前正在执行的Callback。
的打断回调是试图中断正在运行的回调的回调。
MATLAB在执行处理回调队列的命令时确定回调中断行为。这些命令包括drawnow
,数字
,uifigure
,getframe
,等待
,暂停
.
如果正在运行的回调不包含这些命令之一,则不会发生中断。MATLAB首先完成运行回调的执行,然后再执行中断回调。
如果正在运行的回调包含这些命令之一,则可中断
属性决定是否发生中断:
如果的值
可中断
是“关闭”
,则不发生中断。相反,BusyAction
属性确定中断回调是被丢弃还是添加到回调队列。如果的值
可中断
是“上”
,则中断。下一次MATLAB处理回调队列时,它将停止正在运行的回调的执行,并执行中断的回调。中断回调完成后,MATLAB继续执行正在运行的回调。
请注意
回调中断和执行在以下情况下表现不同:
如果中断回调是
DeleteFcn
,CloseRequestFcn
,或SizeChangedFcn
回调函数时,中断发生,而不管可中断
属性值。方法当前正在执行
等待
函数,则中断发生而不管可中断
属性值。如果中断回调属于
计时器
对象,则回调函数将根据调度执行,而不管可中断
属性值。
BusyAction
- - - - - -回调排队
“队列”
(默认)|“取消”
回调队列,指定为“队列”
或“取消”
.的BusyAction
属性决定MATLAB如何处理中断回调的执行。有两种回调状态需要考虑:
的运行Callback是当前正在执行的Callback。
的打断回调是试图中断正在运行的回调的回调。
的BusyAction
属性仅在满足以下两个条件时确定回调排队行为:
在这些条件下,BusyAction
拥有中断回调的对象的属性决定了MATLAB如何处理中断回调。的可能值BusyAction
属性:
“队列”
—将中断的回调放到队列中,待正在运行的回调执行完成后再处理。“取消”
—不执行中断回调。
BeingDeleted
- - - - - -删除状态
开/关逻辑值
此属性是只读的。
删除状态,作为类型的on/off逻辑值返回matlab.lang.OnOffSwitchState
.
MATLAB设置BeingDeleted
财产“上”
当DeleteFcn
回调开始执行。的BeingDeleted
属性仍然设置为“上”
直到组件对象不再存在。
的值BeingDeleted
属性在查询或修改对象之前验证对象是否即将被删除。
父/子
父
- - - - - -父容器
数字
对象(默认)|面板
对象|选项卡
对象|ButtonGroup
对象|GridLayout
对象
父容器,指定为数字
对象创建。uifigure
函数,或者它的子容器之一:选项卡
,面板
,ButtonGroup
,或GridLayout
.如果没有指定容器,MATLAB将调用uifigure
函数创建一个新的数字
对象,该对象用作父容器。
孩子们
- - - - - -孩子们
空GraphicsPlaceholderArray
|UI组件对象数组
子,作为UI组件对象数组返回。使用此属性可查看子元素列表,或通过将该属性设置为自身的排列来重新排列子元素。不能使用此属性添加或删除子属性。要将子元素添加到此列表中,请设置父
属性的子UI组件。
重新排序子组件对组件在网格中的位置没有影响。若要更改组件在网格中的位置,请设置其布局
财产。
HandleVisibility
- - - - - -对象句柄的可见性
“上”
(默认)|“回调”
|“关闭”
对象句柄的可见性,指定为“上”
,“回调”
,或“关闭”
.
此属性控制对象在其父对象的子列表中的可见性。当一个对象在其父对象的子列表中不可见时,通过搜索对象层次结构或查询属性获取对象的函数将不会返回该对象。这些函数包括得到
,findobj
,clf
,关闭
.对象即使不可见也是有效的。如果可以访问对象,就可以设置和获取其属性,并将其传递给对对象进行操作的任何函数。
HandleVisibility价值 | 描述 |
---|---|
“上” |
对象总是可见的。 |
“回调” |
对象在回调或回调调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止在命令行访问对象,但允许回调函数访问它。 |
“关闭” |
这个物体在任何时候都是看不见的。此选项对于防止另一个函数对UI的意外更改非常有用。设置HandleVisibility 来“关闭” 在函数执行期间暂时隐藏对象。 |
标识符
类型
- - - - - -图形对象的类型
“uigridlayout”
此属性是只读的。
图形对象的类型,返回为“uigridlayout”
.
标签
- - - - - -对象标识符
”
(默认)|特征向量|字符串标量
对象标识符,指定为字符向量或字符串标量。您可以指定一个惟一的标签
值作为对象的标识符。方法在代码中的其他地方需要访问对象时,可以使用findobj
方法搜索对象标签
价值。
用户数据
- - - - - -用户数据
[]
(默认)|数组
用户数据,指定为任意MATLAB数组。例如,您可以指定标量、向量、矩阵、单元格数组、字符数组、表或结构。使用此属性可在对象上存储任意数据。
如果您在应用程序设计器中工作,请在应用程序中创建公共或私有属性以共享数据,而不是使用用户数据
财产。有关更多信息,请参见在应用设计器应用中共享数据.
版本历史
在R2018b中引入R2022b:访问网格布局管理器的大小和位置
使用位置
,InnerPosition
,OuterPosition
属性,以访问网格布局管理器的大小和位置。这些属性是只读的。
R2022a:表、列表框和图像UI组件可以调整大小以适应内容
的行高或列宽的网格布局管理器“健康”
现在调整大小以适应表格、列表框和图像UI组件的内容。
在以前的版本中,行高或列宽为的网格布局管理器“健康”
当行或列包含表、列表框或图像UI组件时,缩放到固定大小。
表UI组件-行高和列宽先前调整为300像素。
列表框UI组件-行高先前调整为最多显示四个项目。根据您的设置,显示四个项目的精确像素值可能会有所不同。
图像UI组件-行高和列宽先前调整为100像素。
控件的相应元素,以显示R2022a之前版本中的表、列表框或图像的大小RowHeight
而且ColumnWidth
的属性GridLayout
对象到它们各自的固定大小。
R2020b:GridLayout
背景不再透明
从R2020b开始,GridLayout
对象具有写成BackgroundColor
属性,不再透明。默认背景色是所有容器(例如,图形和面板)的默认颜色。
如果你的应用程序在容器中有一个非默认颜色的网格布局,那么设置写成BackgroundColor
的属性GridLayout
对象设置为该颜色以保持应用程序的外观。
属性的子元素,将这些对象移到网格中GridLayout
.
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。