文档

表属性

控制表UI组件的外观和行为

属性创建的应用程序或GUIDE中的表有效数字函数。如果你正在使用应用程序设计器或uifigure功能,请参阅表属性代替。有关更多信息,请参见GUIDE迁移策略

表UI组件显示应用程序中的数据行和列场上函数创建一个表UI组件,并在显示它之前设置所需的属性。通过更改属性值,可以修改其外观和行为的某些方面。使用点表示法来引用特定的对象和属性。

F =数字;t = uitable(f,'Data',[1 2 3;4 5 6;7 8 9]);t.FontSize = 9;

表格

全部展开

表数据,指定为数值数组、逻辑数组或单元格数组。表数据可以是任何数字类型,逻辑,或字符.使用单元格数组指定不同数据类型的混合。

控件指定的格式显示表数据ColumnFormat财产。属性的值与表数据的数据类型不匹配ColumnFormat财产,MATLAB®转换数据或显示警告。看到ColumnFormat属性描述以获取更多信息。

为防止在用户输入无效数据时出现警告,请编写CellEditCallback函数将数据转换为适当的类型。

的行数数据属性数组中的元素数目不匹配RowName数组,则结果表中的行数为两个值中较大的一个。当ColumnName属性中的列数不匹配数据属性数组。

例子:t = uitable('Data',rand(10,3))

例子:t = uitable('Data',{'blue' 5 true;'orange' 25 false})

列标题名称,指定为以下值之一:

  • “编号”—列标题为以“”开头的连续数字1

  • 字符向量或分类数组的单元格数组——数组的每个元素都成为一列的名称。如果您指定1——- - - - - -n单元格数组,MATLAB存储并返回值为n——- - - - - -1单元阵列。如果您指定——- - - - - -n数组,MATLAB将数组重塑为列向量。通过包含垂直斜杠(|)的列名称。例如,值,“电话|号码”,在“电话”和“数字”之间产生一个换行符的列标题。

  • 空单元格数组({})—该表没有列标题。

  • 空矩阵([])—该表没有列标题

中的列数数据属性数组中的元素数目不匹配ColumnName数组,则结果表中的列数为两个值中较大的一个。

例子:t = uitable('ColumnName',{'Name';“数量”},“数据”,{5}“鲍勃”)

例子:t = uitable('ColumnName',{'Name';“数据”[]},{5}“鲍勃”)

例子:t = uitable('ColumnName',{'Name';电话|号码},“数据”,{“鲍勃”,“555 - 1212”})

表列的宽度指定为“汽车”或者作为1——- - - - - -n单元阵列。

单元格数组中的每一列都对应于表中的一列。这些值以像素为单位。如果你指定“汽车”,然后MATLAB使用多个因子自动计算柱的宽度,其中之一是ColumnName属性值。

您可以将固定的列宽度和“汽车”单元格数组中的列宽度,也可以指定单个值“汽车”使所有列宽度自动。

选择汽车的宽度在表属性编辑器中设置ColumnWidth财产“汽车”

例子:t = uitable('ColumnWidth','auto','Data',[1 2 3;4 5 6])

例子:t = uitable('ColumnWidth',{64 60 40},'Data',[1 2 3;4 5 6])

例子:t = uitable('ColumnWidth',{64 'auto' 40},'Data',[1 2 3;4 5 6])

编辑列单元格的能力,指定为:

  • 空逻辑数组([]) -没有可编辑的列。

  • 一个逻辑1——- - - - - -narray -该数组指定哪些列是可编辑的。n的值等于表中的列数。数组中的每个值都对应一个表列。值为真正的在数组中使该列中的单元格可编辑。值为使该列中的单元格不可编辑。

  • 逻辑标量——整个表可编辑或不可编辑。

例子:t = uitable('Data',rand(10,3),'ColumnEditable',[false true true])

例子:t = uitable('Data',rand(10,3),'ColumnEditable',false)

包含复选框或弹出菜单的表列必须是可编辑的,以便用户可以与这些控件交互。

单元格显示格式,指定为空单元格数组或1——- - - - - -n字符向量的单元格数组。

此属性决定了每列中的数据如何显示,以及在UI中编辑该数据的约束。单元格数组的元素对应于数据属性数组。如果不想为特定列指定显示格式,请指定[]对于这一列。如果未为列指定格式,MATLAB将根据单元格中数据的数据类型确定默认显示。

单元格数组的元素必须是下表中描述的值之一。

单元格格式值

描述

“字符”

显示一个左对齐的值

要编辑单元格,用户输入文本替换现有值。

中的元素数据那么属性数组是逻辑的真正的出现在表中。

“逻辑”

显示复选框。

要编辑单元格,用户选择或清除复选框。然后用MATLAB进行相应的设置数据价值真正的

ColumnEditable属性值必须为真正的允许用户选择或取消选中复选框。

最初,当对应的数据值是真正的.中的对应值数据属性数组必须为类型逻辑确保数据在表格中正确显示。

“数字”

显示一个右对齐的值,等价于数值数据的命令窗口显示。中的元素数据那么属性数组是逻辑的10出现在表中。中的元素数据属性数组不是数字的,也不是逻辑的出现在表中。

要编辑单元格,用户可以输入任何文本。

如果用户输入表示常量的文本,例如π,您可以编码CellEditCallback函数将值转换为等效的数值。在这种情况下,MATLAB尝试将用户输入的文本转换为数值并将其存储在数据财产。然后,CellEditCallback函数执行。看到CellEditCallback举例说明。

一个1——- - - - - -n单元格数组的字符向量,如{“一”“二”“三”}

显示弹出菜单。

要编辑单元格,用户从弹出菜单中选择一个项。MATLAB设置相应的数据属性数组的值赋给所选菜单项。的ColumnEditable属性值必须为真正的允许用户在弹出菜单中选择项目。

类所接受的格式名称格式函数,例如:“短”“长”

显示数据属性值使用指定的格式。

弹出式菜单栏格式和各种数据类型的影响

如果ColumnFormat值定义了一个弹出菜单,初始值数据Value不一定是该菜单中的选项之一。最初的数据值显示,直到用户做出不同的选择。

例如,假设数据属性值为“选择”对于所有行,和ColumnFormat值指定选项为的弹出菜单“组1”而且“组2”.当MATLAB创建表时,这些表单元格将显示出来“选择”直到用户在弹出菜单中选择一个项目:

F =数字;myData = {'Andrew' 31 'Male' ' select ';...“鲍勃”41“男”“选择”;...“安妮”20“女”“选择”;};t = uitable('Parent', f,…“位置”,[25 25 334 78],……“ColumnFormat ',({[] [] [] {' 组1 ' '组2 '}}),……“ColumnEditable”,真的,… 'Data', myData);

可编辑列的数据显示

该表描述了各种数据类型如何以特定的方式显示ColumnFormat值。

ColumnFormat
“数字” “字符” “逻辑”
数据数组值的数据类型 任何数字类型 表显示数字为原样。 MATLAB将值转换为文本,并在表中左对齐显示。如果MATLAB不能转换值,则显示器。 不推荐。当用户编辑单元格时,MATLAB可能会返回警告,除非您定义了CellEditCallback函数。
字符 表显示右对齐的值,就像它是一个数字一样。 表显示了当前的值。 不推荐。当用户编辑单元格时,MATLAB可能会返回警告,除非您定义了CellEditCallback函数。
逻辑 表将逻辑值显示为数字。当用户编辑单元格时,MATLAB可能会返回警告,除非您定义了CellEditCallback函数。 表以左对齐方式显示逻辑值“真正的”“假”.当用户编辑单元格时,MATLAB可能会返回警告,除非您定义了CellEditCallback函数。 表将逻辑值显示为复选框。

例如,在下表中,第一列(X-Data)左对齐,因为ColumnFormat值为“字符”

行标题名称,指定为以下值之一:

  • “编号”—行标题为以“”开头的连续数字1

  • 字符向量或分类数组的单元格数组-数组的每个元素都成为一行的名称。行名被限制为一行文本。如果您指定1——- - - - - -n单元格数组,MATLAB存储并返回值为n——- - - - - -1单元阵列。如果您指定——- - - - - -n数组,MATLAB将数组重塑为列向量。

  • 空单元格数组({}—表中没有行标题。

  • 空矩阵([]—表中没有行标题

的行数数据属性数组中的元素数目不匹配RowName数组,则结果表中的行数为两个值中较大的一个。

例子:t =场上(RowName,{“名称”,“数量”},“数据”,{“鲍勃”;5})

例子:t =场上(RowName,{“名字”,[]},“数据”,{“鲍勃”;5})

能够重新排列表列,指定为“关闭”“上”.此属性提供了一种方法,允许用户通过单击并拖动列标题来重新排序表列(而不是标签)。

请注意

界面中的表列重新排列不会影响数据属性数组。

字体

全部展开

字体名称,指定为系统支持的字体名称或金宝app“FixedWidth”.默认字体取决于特定的操作系统和区域设置。

若要使用固定宽度的字体,使其在任何地区都看起来不错,请指定“FixedWidth”.实际使用的固定宽度字体取决于FixedWidthFontName根对象的属性。改变了FixedWidthFontName属性导致立即更新显示以使用新字体。

例子:“天线”

字体大小,指定为正数。的FontUnits属性指定单位。默认大小与系统有关。

例子:12

例子:12.5

字体权重,指定为下表中的值。

  • “正常”-由特定字体定义的默认重量

  • “大胆”-字符轮廓比正常粗

MATLAB使用FontWeight属性从系统上可用的字体中选择一种。并非所有字体都有粗体字体粗体。因此,指定粗体字体粗细仍然可以得到正常字体粗细。

请注意

“光”而且“黛米”字体权重值在R2014b中被移除。如果指定这两个值中的任何一个,结果都是正常的字体粗细。

字体角度,指定为“正常”“斜体”.MATLAB使用此属性从系统上可用的字体中选择字体。将此属性设置为“斜体”选择字体的倾斜版本(如果在您的系统上可用)。

请注意

“斜”值已被删除。使用“斜体”代替。

字体单位,指定为此表中的值之一。

单位价值 描述
“点” 点。1分是1/72英寸。
“归一化” 将字体大小指定为高度的一部分的规范化值。当您调整UI组件的大小时,MATLAB会缩放显示的字体以保持该分数。
“英寸” 英寸。
“厘米” 厘米。
“像素”

像素。

从R2015b开始,以像素为单位的距离与Windows上的系统分辨率无关®而且麦金塔电脑系统:

  • 在Windows系统上,一个像素是1/96英寸。

  • 麦金塔电脑在系统中,一个像素是1/72英寸。

在Linux上®在系统中,像素的大小是由系统分辨率决定的。

交互性

全部展开

表可见性,指定为“上”“关闭”.当可见“关闭”,该表不可见,但可以查询和设置其属性。

要使应用程序启动更快,请设置可见初始时未显示给的所有组件的“关闭”

表的运行状态,指定为“上”“关闭”,或“不活跃”.的启用属性控制UI组件是否响应按钮单击。有三个可能的值:

  • “上”—UI组件正常运行。

  • “关闭”—UI组件不可用,显示为灰色。

  • “不活跃”—UI组件是不可操作的,但它的外观与当时相同启用“上”

的值启用属性和点击按钮的类型决定UI如何响应。

使价值 左键单击的响应 对右键单击的响应
“上”

CellSelectionCallback函数执行(仅用于表单元格,不用于标头单元格)。的指数属性更新在MATLAB传递给回调函数的回调数据对象中。

  1. 图的WindowButtonDownFcn回调执行。

  2. ButtonDownFcn回调执行。

“关闭”“不活跃”

  1. 图的WindowButtonDownFcn回调执行。

  2. ButtonDownFcn回调执行。

  1. 图的WindowButtonDownFcn回调执行。

  2. ButtonDownFcn回调执行。

工具提示,指定为字符向量、字符串标量或分类数组。使用此属性可在用户在运行时将指针悬停在组件上时显示一条消息。禁用组件时,不会显示工具提示。如果将此属性指定为分类数组,MATLAB将使用数组中的值,而不是全部类别集。

要创建多行文本,请使用sprintf函数插入换行符(' \ n ')。例如:

TXT = sprintf(“1号线、2号线”);

然后设置工具提示属性返回的值sprintf

上下文菜单,指定为快捷菜单对象。使用此属性可在用户右键单击UI组件时显示上下文菜单。控件创建上下文菜单uicontextmenu函数。

工具提示,指定为字符向量、字符串标量或分类数组。当用户将鼠标指针悬停在应用程序中的组件上时,将显示工具提示。如果将此属性指定为类别数组,MATLAB将使用数组中的值,而不是完整的类别集。

请注意

TooltipString属性不建议从R2018b开始。使用工具提示财产。

请注意

的行为选择R2014b修改了属性,不建议修改。它不再有任何影响表格对象。在将来的版本中可能会删除此属性。

请注意

的行为SelectionHighlightR2014b修改了属性,不建议修改。它不再有任何影响表格对象。在将来的版本中可能会删除此属性。

颜色和样式

全部展开

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

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

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

  • 十六进制颜色码是字符向量或以散列符号()后面跟着三个或六个十六进制数字,取值范围为0F.这些值不区分大小写。因此,颜色代码“# 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飞行符”

“红色” “米” [10 0 1] “#就”

“黄色” “y” [11 10 0] “# FFFF00”

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

“白色” ' w ' [1 1 1] “# FFFFFF”

下面是MATLAB在许多类型的图中使用的默认颜色的RGB三组和十六进制颜色代码。

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”

背景色,指定为RGB三元组或RGB三元组的m × 3矩阵。RGB三元组是一个行向量,它指定颜色的红色、绿色和蓝色成分的强度。强度必须在这个范围内,[0, 1].颜色名称无效。

如果希望表行的底纹遵循m种不同颜色的重复模式,则指定m × 3矩阵。矩阵的每一行都必须是RGB三元组。MATLAB中使用行的矩阵当RowStriping属性是“上”.表背景没有条纹,除非两者都有RowStriping“上”而且写成BackgroundColor是m × 3矩阵。

例子:t = uitable('Data',rand(10,3),'BackgroundColor',[0.85 0.85 1])

例子:t = uitable('Data',rand(10,3),'BackgroundColor',[1 1 1;0.85 0.85 1])

下表列出了特定颜色的RGB三元组。

颜色 RGB值
黄色的 [11 10 0]
品红色的 [10 0 1]
青色 [0 1 1]
红色的 [10 0 0]
绿色 [0 10 0]
蓝色的 [0 0 1]
白色 [1 1 1]
黑色的 [0 0 0]

交替行底纹,指定为“上”“关闭”.此属性控制表行的底纹模式。

RowStriping值设置为“上”,写成BackgroundColor矩阵指定以重复模式显示的行颜色。如果写成BackgroundColor矩阵只有一行,那么所有表行的底纹是相同的。

RowStriping设置为“关闭”,然后在第一个颜色写成BackgroundColor矩阵定义了表格中所有行的底纹。

位置

全部展开

位置和大小,指定为窗体的四个元素向量[左下宽高].该表描述了向量中的每个元素。

元素 描述
父容器左内边缘到表左外边缘的距离
父容器的内底边到表的外底边的距离
宽度 表的左右外边缘之间的距离
高度 表的顶部和底部外边缘之间的距离

所有的测量单位都由单位财产。

请注意

位置值是相对于父容器的可拉的区域.可绘制区域是容器边界内的区域,不包括标题占用的区域。如果父容器是图形,则可绘制区域也不包括菜单栏和工具栏。

使用程度上属性根据数据确定表的适当大小。设置宽度而且高度位置属性的宽度和高度程度上财产。请注意,如果表具有较大的区段,那么这样做可能会导致表扩展到其父容器的右边缘或上边缘之外。

示例:设置宽度和高度为适应数据大小

对象中的一个或两个连续值时,可以将点表示法和数组索引结合使用位置向量。属性设置表的宽度和高度程度上表的:

T =合适的(“数据”3),兰德(10);t.Position(3:4) = t.Extent(3:4);

位置和大小,指定为窗体的四个元素向量[左下宽高].所有的测量单位都由单位财产。

属性值与位置而且OuterPosition属性值。

位置和大小,指定为窗体的四个元素向量[左下宽高].所有的测量单位都由单位财产。

属性值与位置而且InnerPosition属性值。

此属性是只读的。

外接矩形的大小,作为一个四元素行向量返回。向量的前两个元素总是零。第三和第四个元素分别是包含表格的矩形的宽度和高度。所有的测量单位都由单位财产。

MATLAB根据电流确定矩形的大小数据RowName而且ColumnName属性值。MATLAB使用列宽和行宽来估计宽度和高度值。估计的范围可以大于实际数字。

考虑使用程度上属性的宽度和高度值位置财产。

度量单位,指定为该表中的一个值。

单位价值 描述
“像素”(默认)

像素。

从R2015b开始,以像素为单位的距离与Windows和Windows上的系统分辨率无关麦金塔电脑系统:

  • 在Windows系统上,一个像素是1/96英寸。

  • 麦金塔电脑在系统中,一个像素是1/72英寸。

在Linux系统上,像素的大小由系统分辨率决定。

“归一化” 这些单元相对于父容器是规范化的。容器的左下角映射到(0,0)右上角映射到(1,1)
“英寸” 英寸。
“厘米” 厘米。
“点” 点。1分等于1/72英寸。
“角色”

这些单位是基于图形根对象的默认uicontrol字体:

  • 字符宽度=字母的宽度x

  • 字符高度=两行文本基线之间的距离。

要访问默认的uicontrol字体,请使用get(大的,“defaultuicontrolFontName”)集(大的,“defaultuicontrolFontName”)

MATLAB从父对象的左下角开始测量所有单位。

此属性影响位置财产。如果你改变单位属性,请考虑在完成计算后将其值返回为默认值,以避免影响采用默认值的其他函数。

属性的指定顺序单位而且位置属性具有以下效果:

  • 如果您指定单位之前位置属性,然后MATLAB集合位置使用您指定的单位。

  • 如果您指定单位之后的属性位置属性,MATLAB设置位置使用默认值单位.然后,MATLAB转换位置值转换为您指定的单位中的等效值。

回调

全部展开

单元格编辑回调函数,指定为以下值之一:

  • 一个函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

当用户更改表单元格的内容时执行此函数。您可以使用此回调函数来执行计算或验证用户输入。

如果将此属性指定为函数句柄(或包含函数句柄的单元格数组),MATLAB将传递一个CellEditData对象,其中包含事件数据作为回调函数的第二个参数。该对象包含下表中描述的属性。可以在回调函数中使用点表示法访问这些属性。

财产

描述

指数

包含用户编辑的单元格的行和列索引的1 × 2数组。

PreviousData

之前的单元格数据。默认是一个空矩阵,[]

EditData

用户输入的值。

NewData

的值数据属性数组。这个值与EditData或者一个转换后的值。

NewData如果MATLAB在用户输入的数据中检测到错误,则属性为空。

错误

如果MATLAB在用户输入的数据中检测到错误,则返回错误消息。

错误属性为空时,MATLAB成功地将值写入数据财产。

如果错误属性不是空的,那么CellEditCallback可以显示消息,也可以尝试修复问题。

对象的CellEditCallback函数。

EventName

“CellEdit”

当用户编辑一个表格单元格时,MATLAB执行以下步骤:

  1. 方法中存储新值数据表的属性

  2. 调用CellEditCallback函数(如果存在)

如果该值导致错误,且没有CellEditCallback函数,然后单元格数据恢复到以前的值,并且不显示错误。

示例:评估用户输入

此示例演示如何创建一个回调函数,该函数计算数值表单元格中用户输入的数据。将这段代码粘贴到编辑器中,并运行它,看看它是如何工作的。

函数Myui f =数字;myData = {“一个”31日;“B”41;“C”5;' D '2.6};T =合适的(“父”f...“位置”, [25 25 700 200],...“数据”, myData,...“ColumnEditable”,[假真],...“CellEditCallback”, @converttonum);函数converttonum(hObject,callbackdata) numval = eval(callbackdata. editdata);r = callbackdata. indexes (1) c = callbackdata. indexes (2)数据{r,c} = numval;结束结束

当你奔跑myui,您可以更改表的第二列中的值。对此,converttonum回调函数执行。的converttonum函数使用eval函数来评估输入。然后,它将单元格数据设置为值numval.例如,如果您输入π1 + 1,converttonum函数将表单元格值设置为输入的数字表示形式。中没有错误检查converttonum函数时,无效表达式返回错误,并且表单元格的新值变为

单元格选择回调函数,指定为以下值之一:

  • 一个函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

当用户执行以下操作之一时执行此回调函数:

  • 通过单击或使用箭头键导航到数据单元格,突出显示数据单元格(不是行或列标题单元格)

  • 控件选择矩形单元格组转变键,同时选择单元格

  • 取消选定单元格Ctrl点击它

如果将此属性指定为函数句柄(或包含函数句柄的单元格数组),MATLAB将传递一个CellSelectionChangeData对象,其中包含事件数据作为回调函数的第二个参数。该对象包含下表中列出的属性。

财产

描述

指数

包含用户所选单元格的行和列索引的n × 2数组。

对象的表对象CellSelectionCallback函数。

EventName

“CellSelection”

按键回调函数,指定为以下值之一:

  • 一个函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

ButtonDownFcncallback是当用户单击UI组件上的鼠标按钮时执行的函数。在以下情况下执行回调:

  • 用户右键单击表,然后启用属性设置为“上”

  • 用户右键单击或左键单击表,然后启用属性设置为“关闭”“不活跃”

按下回调函数,指定为以下值之一:

  • 一个函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

属性时执行此回调函数表格对象具有焦点,用户按下一个键。如果没有为此属性定义函数,MATLAB将按键传递给父图。重复的按键保留焦点表格对象,该函数在每次按键时执行。如果用户几乎同时按下多个键,MATLAB将检测最后一次按下的按键。

如果将此属性指定为函数句柄(或包含函数句柄的单元格数组),MATLAB将包含回调数据的对象作为第二个参数传递给回调函数。该对象包含下表中描述的属性。可以在回调函数中使用点表示法访问这些属性。

财产

描述

例子:

一个

转变

将一个

字符 按下一个或多个键后显示的字符。该字符可以为空或不可打印。 “一个” “=” “一个”
修饰符 包含一个或多个被按下的修饰键名称的单元格数组(例如,CtrlAlt转变). {1 x0细胞} {1 x0细胞} {“转变”} {“转变”}
关键 被按下的键,由键上的(小写)标签或文本描述标识。 “一个” “平等” “转变” “一个”
当用户按下键时具有焦点的对象。 表格对象 表格对象 表格对象 表格对象
EventName 导致回调函数执行的操作。 键盘按键的 键盘按键的 键盘按键的 键盘按键的

按修改键影响回调数据的方式如下:

  • 修改键可以影响字符属性,但不改变关键财产。

  • 某些键,以及修改的键Ctrl,将不可打印字符放入字符财产。

  • CtrlAlt转变,和其他几个键,不生成字符属性数据。

您也可以查询CurrentCharacter属性,以确定用户按下了哪个字符。

键释放回调函数,指定为以下值之一:

  • 一个函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

属性时执行此回调函数表格对象具有焦点,用户释放一个键。

如果将此属性指定为函数句柄(或包含函数句柄的单元格数组),MATLAB将包含回调数据的对象作为第二个参数传递给回调函数。该对象包含下表中描述的属性。可以在回调函数中使用点表示法访问这些属性。

财产

描述

例子:

一个

转变

将一个

字符

被释放的密钥的字符解释。

“一个” “=” “一个”
修饰符

当前修饰符,例如“控制”,如果没有修饰符,则为空单元格数组。

{1 x0细胞} {1 x0细胞} {1 x0细胞} {1 x0细胞}
关键

释放的键的名称,由键上的小写标签标识,或文本描述。

“一个” “平等” “转变” “一个”
当用户按下键时具有焦点的对象。 表格对象 表格对象 表格对象 表格对象
EventName 导致回调函数执行的操作。 日月光半导体的 日月光半导体的 日月光半导体的 日月光半导体的

按修改键影响回调数据的方式如下:

  • 修改键可以影响字符属性,但不改变关键财产。

  • 某些键,以及修改的键Ctrl,将不可打印字符放入字符财产。

  • CtrlAlt转变,和其他几个键,不生成字符属性数据。

您也可以查询CurrentCharacter属性,以确定用户按下了哪个字符。

组件创建函数,指定为以下值之一:

  • 一个函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

此属性指定在MATLAB创建组件时执行的回调函数。函数执行之前,MATLAB初始化所有组件属性值CreateFcn回调。如果没有指定CreateFcn属性,然后MATLAB执行默认的创建函数。

使用gcbo在你的CreateFcn获取正在创建的组件对象的代码。

设置CreateFcn属性在现有组件对象上不起作用。

组件删除函数,指定为以下值之一:

  • 一个函数句柄。

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

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

有关将回调属性值指定为函数句柄、单元格数组或字符向量的详细信息,请参见如何指定回调属性值

DeleteFcn属性指定在MATLAB删除组件时执行的回调函数(例如,当用户关闭窗口时)。MATLAB执行DeleteFcn在销毁组件对象的属性之前。如果没有指定DeleteFcn属性,然后MATLAB执行默认删除函数。

使用gcbo在你的DeleteFcn获取正在删除的组件对象的代码。

回调执行控制

全部展开

回调中断,指定为“上”“关闭”.的可中断属性确定正在运行的回调是否可以中断。

有两种回调状态需要考虑:

  • 运行Callback是当前正在执行的Callback。

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

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

  • 值为“上”允许其他回调中断对象的回调。中断发生在MATLAB处理队列的下一个点,例如当存在drawnow数字getframe等待,或暂停

    • 如果正在运行的回调包含这些命令之一,那么MATLAB将在此时停止回调的执行并执行中断回调。当中断回调完成时,MATLAB恢复执行正在运行的回调。

    • 如果正在运行的回调不包含这些命令之一,那么MATLAB将不间断地完成回调的执行。

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

请注意

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

  • 如果中断回调是DeleteFcnCloseRequestFcn,或SizeChangedFcn回调函数时,中断发生,而不管可中断属性值。

  • 方法当前正在执行等待函数,则中断发生而不管可中断属性值。

  • 计时器对象根据调度执行,而不管可中断属性值。

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

看到中断回调执行举个例子,说明如何可中断而且BusyAction属性影响程序的行为。

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

  • 运行Callback是当前正在执行的Callback。

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

BusyAction中断回调源的属性决定了MATLAB如何处理它的执行。的BusyAction属性具有以下值:

  • “队列”—将中断的回调放到队列中,待正在运行的回调执行完成后再进行处理。

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

每当MATLAB调用回调函数时,该回调函数总是试图中断正在执行的回调函数。的可中断正在运行的回调对象的属性决定是否允许中断。如果可中断设置为:

  • -中断发生在下一个MATLAB处理队列的点。这是默认值。

  • - - -BusyAction属性(属于中断回调的对象)决定MATLAB是否排队或忽略中断回调。

看到中断回调执行举个例子,说明如何BusyAction而且可中断属性影响程序的行为。

此属性是只读的。

删除状态,返回为“关闭”“上”.MATLAB设置BeingDeleted财产“上”DeleteFcn回调开始执行。的BeingDeleted属性仍然设置为“上”直到组件对象不再存在。

的值BeingDeleted属性在查询或修改对象之前验证对象是否即将被删除。

成为当前对象的能力,指定为“上”“关闭”

  • “上”—将当前对象设置为表格当用户在运行的应用程序中单击该组件时CurrentObject的属性数字gco函数返回表格作为当前对象。

  • “关闭”对象的最近祖先表格谁的HitTest“上”当用户单击正在运行的应用程序中的组件时。

请注意

使用Enable属性启用或禁用组件。

父/子

全部展开

父对象,指定为数字面板ButtonGroup,或选项卡对象。在创建UI组件或将现有UI组件移动到不同的父容器时,使用此属性指定父容器。

表格子数组,作为空数组返回。表格对象没有子对象。设置此属性无效。

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

此属性控制对象句柄在其父对象的子列表中的可见性。当句柄在其父句柄的子句柄列表中不可见时,通过搜索对象层次结构或查询句柄属性获取句柄的函数不会返回该句柄。这些函数包括得到findobjgcagcfgconewplotclf,关闭.的HandleVisibility属性还控制该对象的句柄在父图形的句柄中的可见性CurrentObject财产。句柄仍然有效,即使它们不可见。如果可以访问对象,就可以设置和获取其属性,并将其传递给对对象进行操作的任何函数。

HandleVisibility价值 描述
“上” 对象句柄总是可见的。
“回调” 对象句柄在回调或回调调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止在命令行访问对象,但允许回调函数访问它。
“关闭” 对象句柄在任何时候都不可见。此选项对于防止另一个函数对UI的意外更改非常有用。设置HandleVisibility“关闭”在函数执行期间暂时隐藏句柄。

设置图形根目录ShowHiddenHandles财产“上”使所有句柄可见,不管它们的HandleVisibility价值。此设置对他们的HandleVisibility值。

标识符

全部展开

此属性是只读的。

图形对象的类型,返回为场上的

对象标识符,指定为字符向量或字符串标量。您可以指定一个惟一的标签值作为对象的标识符。方法在代码中的其他地方需要访问对象时,可以使用findobj方法搜索对象标签价值。

用户数据,指定为任意数组。指定用户数据对于应用程序内的数据共享非常有用。看到在回调之间共享数据获取更多信息。

在R2008a中引入