主要内容

表属性

控制表中的UI组件外观和行为图形的应用程序

此处列出的属性对指南中的表或使用创建的应用程序中的表有效图形作用如果你正在使用App Designer或uifigure功能,请参阅表属性相反。有关更多信息,请参阅指导迁移策略

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

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

表格

全部展开

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

表格数据以指定的格式显示列格式财产。的值与表数据的数据类型不匹配列格式财产,MATLAB®转换数据或显示警告。看看列格式有关详细信息,请参阅属性说明。

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

中的行数数据属性阵列与中的元素数量不匹配行名数组,则结果表中的行数是两个值中较大的一个。当ColumnName属性与中的列数不匹配数据属性数组。

例子:t =场上(“数据”,兰德(10,3))

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

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

  • “编号”-列标题是从开始的序列号1.

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

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

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

如果数据属性阵列与中的元素数量不匹配ColumnName数组,则结果表中的列数是两个值中较大的一个。

例子:t=uitable('ColumnName',{'Name';'Number'},'Data',{'Bob'5})

例子:t = UITION('columnname',{'name'; []},'data',{'bob'5})

例子:t =场上(ColumnName,{“名称”;电话|号码},“数据”,{“鲍勃”,“555 - 1212”})

表列的宽度,指定为“自动”或者作为一个1.-借-N细胞阵列。

单元格数组中的每一列都对应于表中的一列。这些值以像素为单位。如果您指定“自动”, MATLAB利用多个因素自动计算出列的宽度,其中之一是ColumnName适当的价值。

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

挑选自动宽度的作用与设置表属性编辑器中的列宽财产“自动”

例子:T = UITION('ColumnWidth','auto','data',[1 2 3; 4 5 6])

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

例子:t = UITION('ColumnWidth',{64'Auto'40},“数据”,[1 2 3; 4 5 6])

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

  • 空逻辑阵列([]) - 没有专栏是可编辑的。

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

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

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

例子:t = UITION('数据',RAND(10,3),'列标准',false)

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

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

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

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

单元格格式值

描述

“字符”

显示左对齐值

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

如果数据因此,属性数组是合乎逻辑的真的或者出现在表中。

“合乎逻辑”

显示复选框。

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

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

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

“数字”

显示相当于命令窗口显示的右对齐值,以获取数字数据。如果数据因此,属性数组是合乎逻辑的1.或者0出现在表中。如果数据属性数组不是数字且不是逻辑数组,则出现在表中。

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

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

A.1.-借-N特区的字符向量阵列,例如{'1''2''3'}

显示弹出式菜单。

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

用户接受的格式名称总体安排功能,例如:“短”或者“长”

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

弹出菜单列格式和各种数据类型的效果

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

例如,假设数据属性值为“选择”对于所有行,以及列格式值指定一个弹出式菜单,选项为“第一组”“第2组”.当MATLAB创建表格时,显示那些表格单元格“选择”直到用户在弹出菜单中选择一个项目:

f=figure;myData={'Andrew'31'男性'选择';…'Bob'41'男性'选择';…'Anne'20'女性'选择';};t=uitable('Parent',f,'Position',[25 25 334 78],…'ColumnFormat',({[][[]{'group 1''group 2'}),…'ColumnEditable',true,'Data',myData);

可编辑列的数据显示

该表描述了如何使用特定的列格式值。

列格式
“数字” “字符” “合乎逻辑”
数据数组值的数据类型 任何数字类型 表格显示按原样显示的数字。 MATLAB将值转换为文本,并在表中左对齐显示它。如果MATLAB不能转换值,则显示。 不推荐。如果用户编辑单元格,则MATLAB可能会返回警告,除非您定义aCellEditCallback作用
烧焦 表显示右对齐的值,就像它是一个数字一样。 表格按原样显示值。 不推荐。如果用户编辑单元格,则MATLAB可能会返回警告,除非您定义aCellEditCallback作用
必然的 表显示为数字的逻辑值。如果用户编辑单元格,则MATLAB可能会返回警告,除非您定义aCellEditCallback作用 表格将逻辑值显示为左对齐'真的'或者“假”.MATLAB可能会在用户编辑单元格时返回警告,除非您定义了CellEditCallback作用 表格将逻辑值显示为复选框。

例如,在下表中,由于列格式该列的值是“字符”

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

  • “编号”—行标题为以1.

  • 字符向量的单元格数组或分类数组-数组的每个元素都成为一行的名称。行名称仅限于一行文本。如果指定1.-借-N单元格数组,MATLAB存储并返回值为aN-借-1.单元格数组。如果指定M-借-N数组,MATLAB将数组重塑为列向量。

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

  • 空矩阵([])-该表没有行标题

中的行数数据属性阵列与中的元素数量不匹配行名数组,则结果表中的行数是两个值中较大的一个。

例子:t=uitable('RowName',{'Name';'Number'},'Data',{'Bob';5})

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

能够重新排列表列,指定为“关闭”或者“开”,或作为数字或逻辑1.(真的)或0().价值“开”相当于真的, 和“关闭”相当于。因此,您可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState

此属性提供了一种方法来让用户通过单击并拖动列标题来重新排序表列(但不是标签)。

请注意

在UI中重新排列表列不会影响数据属性数组。

字体

全部展开

字体名称,指定为系统支持的字体名称金宝app'固定宽度'.默认字体取决于特定的操作系统和地区。

要使用在任何区域设置中看起来都不错的固定宽度字体,请指定'固定宽度'.实际使用的固定宽度字体取决于FixedWidthFontName属性。改变了FixedWidthFontName属性导致立即更新显示以使用新字体。

例子:“天线”

字体大小,指定为正数。这个FontUnits属性指定单元。默认大小依赖于系统。

例子:12.

例子:12.5

字体大小,指定为下表中的值。

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

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

MATLAB使用FontWeight属性要从系统上选择的字体。并非所有字体都有一个粗体的字体重量。因此,指定粗体的重量仍然可以导致正常的字体重量。

请注意

这个“光”'demi'R2014b中已删除字体权重值。如果指定这两个值中的任何一个,则结果为正常字体大小。

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

请注意

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

字体单元,指定为该表中的值之一。

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

像素。

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

  • 在Windows系统中,像素是1/96英寸。

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

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

互动

全部展开

可见性状态,指定为“开”或者“关闭”,或作为数字或逻辑1.(真的)或0().价值“开”相当于真的, 和“关闭”相当于。因此,您可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState

  • “开”—显示对象。

  • “关闭”-隐藏对象而不删除它。您仍然可以访问不可见的UI组件的属性。

要使你的应用程序启动得更快,请设置可见财产“关闭”对于不需要在启动时出现的所有UI组件。

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

  • “开”- UI组件是可操作的。

  • “关闭”- UI组件不可操作,显示为灰色。

  • “不活跃”- UI组件不可操作,但它具有与何时相同的外观启用“开”

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

启用值 应对左击 对右键单击的响应
“开”

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

  1. 这个数字是windowbuttondownfcn.回调执行。

  2. 这个按钮向下回调执行。

“关闭”或者“不活跃”

  1. 这个数字是windowbuttondownfcn.回调执行。

  2. 这个按钮向下回调执行。

  1. 这个数字是windowbuttondownfcn.回调执行。

  2. 这个按钮向下回调执行。

工具提示,指定为字符向量、字符串标量或分类数组。使用此属性在运行时在组件上筛选指针时显示消息。组件禁用时不显示工具提示。如果将此属性指定为分类阵列,则Matlab使用数组中的值,而不是完整的类别。

要创建多行文本,请使用把格式数据写成串函数插入换行符(' \ n ')在你的文本中。例如:

txt=sprintf(“1号线\在线2”);

然后设置工具提示属性返回的值把格式数据写成串

上下文菜单,指定为快捷菜单使用uicontextmenu作用使用此属性在组件上单击鼠标右键时显示关联菜单。

工具提示,指定为字符向量、字符串标量或分类数组。当你将鼠标悬停在应用程序中的组件上时,工具提示会出现。如果你将该属性指定为一个类别数组,MATLAB会使用数组中的值,而不是全部类别集合。

请注意

这个TooltipString不建议在R2018b中启动属性。使用工具提示取而代之的是财产。

请注意

政府的行为选择属性在R2014b中已更改,因此不建议使用此属性。它不再对此类型的对象有任何影响。此属性可能会在将来的版本中删除。

请注意

政府的行为选择突出显示属性在R2014b中已更改,因此不建议使用此属性。它不再对此类型的对象有任何影响。此属性可能会在将来的版本中删除。

颜色和样式

全部展开

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

RGB三联体和十六进制颜色代码在指定自定义颜色时很有用。

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

  • 十六进制颜色代码是以哈希符号开头的字符向量或字符串标量(#),然后是3个或6个十六进制数字,其范围可以是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”

“黄色” “是的” [1 1 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] "77AC30"

(0.3010 0.7450 0.9330) “# 4 dbeee”

(0.6350 0.0780 0.1840) '#a2142f'

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

如果希望表格行的着色遵循m种不同颜色的重复图案,请指定一个m×3矩阵。矩阵的每一行必须是RGB三元组。当划船财产是“开”.表格背景不是条纹的,除非两者都是划船“开”写成BackgroundColor是一个m-x-3矩阵。

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

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

下表列出了某些颜色的RGB三联图。

颜色 RGB三重态
黄色 [1 1 0]
洋红 [1 0 1]
青色 [0 1 1]
红色 [1 0 0]
绿色 [0 1 0]
蓝色的 (0 0 1)
白色 [1 1 1]
黑色 (0 0 0)

交替行阴影,指定为“开”或者“关闭”,或作为数字或逻辑1.(真的)或0().价值“开”相当于真的, 和“关闭”相当于。因此,您可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState

此属性控制表行的着色模式划船值设置为“开”这个写成BackgroundColor矩阵指定要在重复图案中显示的行颜色。如果写成BackgroundColor矩阵只有一行,那么所有表行中的阴影都相同。

划船被设置为“关闭”,然后是第一种颜色写成BackgroundColor矩阵定义表中所有行的着色。

位置

全部展开

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

要素 描述
左边 从父容器的左内边缘到表的左外边缘的距离
从父容器的内底边到表的外底边的距离
宽度 表的左右外边缘之间的距离
高度 工作台上、下外缘之间的距离

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

请注意

这个位置值是相对于父容器的可抽面积。可绘制区域是容器边框内的区域,不包括标题所占用的区域。如果父容器是图形,则可绘制区域也不包括菜单栏和工具栏。

使用程度上属性以确定表相对于数据的适当大小。设置宽度高度位置属性的宽度和高度程度上财产。请注意,如果表有较大的区段,那么这样做可能会导致表超出其父容器的右边缘或上边缘。

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

属性中的一个或两个连续值时,可以组合点表示法和数组索引位置向量。例如,此代码设置表的宽度和高度以匹配程度上下表:

ui表(t =“数据”,rand(10,3));t、 位置(3:4)=t范围(3:4);

位置和大小,指定为形式的四元素向量[左下宽高].所有测量值均采用制造商规定的单位单位财产。

此属性值与位置OuterPosition属性值。

位置和大小,指定为形式的四元素向量[左下宽高].所有测量值均采用制造商规定的单位单位财产。

此属性值与位置内部位置属性值。

此属性是只读的。

封闭矩形的大小,作为四元素行向量返回。向量的前两个元素始终为零。第三和第四个元素分别是包含表格的矩形的宽度和高度。所有测量值均采用制造商规定的单位单位财产。

MATLAB根据电流确定矩形的大小数据,行名ColumnName属性值。MATLAB使用列和行宽度估计宽度和高度值。估计的程度可能比实际数字要大。

考虑使用程度上属性值,该属性在指定对象的宽度和高度值时使用位置财产。

计量单位,指定为本表中的一个值。

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

像素。

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

  • 在Windows系统中,像素是1/96英寸。

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

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

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

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

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

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

访问默认的UIControl字体,使用get(大的,“defaultuicontrolFontName”)或者集(大的,“defaultuicontrolFontName”)

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

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

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

  • 如果指定单位之前位置属性,然后matlab套装位置使用你指定的单位。

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

回调

全部展开

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

  • 功能手柄。

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

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

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

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

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

财产

描述

指数

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

以前的数据

以前的单元格数据。默认为空矩阵,[]

编辑数据

用户输入的值。

NewData

MATLAB向数据属性数组。此值与编辑数据或转换后的值。

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

错误

当MATLAB在用户输入的数据中检测到错误时返回的错误消息。

这个错误当Matlab成功将值写入时,属性为空数据财产。

如果错误财产不是空的,然后是CellEditCallback可以显示消息,也可以尝试修复问题。

正在执行的表对象CellEditCallback作用

eventName.

“CellEdit”

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

  1. 试图将新值存储到数据表的属性

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

如果该值导致错误,并且没有CellEditCallback函数,则单元格数据恢复为其以前的值,并且不显示任何错误。

示例:评估用户输入

此示例演示如何创建一个回调函数,用于计算用户在数字表格单元格中输入的数据。将此代码粘贴到编辑器中,然后运行它以查看其工作方式。

函数Myui f = figure;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.index(1)c=callbackdata.index(2)hObject.Data{r,c}=numval;终止终止

当你运行时myui,您可以更改表第二列中的值。作为回应,converttonum执行回调函数。这个converttonum函数使用评估函数来评估输入。然后,它将小区数据设置为值numval。例如,如果您输入PI.或者1 + 1这个converttonum函数将表格单元格值设置为输入的数字表示形式converttonum函数时,无效表达式返回一个错误,表格单元格的新值变为

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

  • 功能手柄。

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

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

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

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

  • 通过单击或使用箭头键导航到数据单元格(非行或列标题单元格),高亮显示该单元格

  • 通过按住转移键,同时选择单元格

  • 按取消选择单元格Ctrl键-点击它

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

财产

描述

指数

n-by-2数组,包含用户选择的单元格的行和列索引。

正在执行的表对象CellSelectionCallback作用

eventName.

'cellselection'

按钮按回调函数,指定为其中一个值:

  • 功能手柄。

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

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

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

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

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

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

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

  • 功能手柄。

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

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

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

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

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

财产

描述

例子:

A.

=

转移

将一个

字符 由于按下一个或多个键而显示的字符。该字符可以为空或不可打印。 “a” “=” '' “一个”
修饰符 一个单元格数组,包含一个或多个正在按下的修改器键的名称(例如,Ctrl键,Alt,转移). {1 x0细胞} {1 x0细胞} {“转变”} {“转变”}
钥匙 被按下的键,由键上的(小写)标签标识,或文本描述。 “a” “平等” “转移” “a”
当用户按键时具有焦点的对象。 表格对象 表格对象 表格对象 表格对象
eventName. 导致回调函数执行的动作。 '按键' '按键' '按键' '按键'

按下修改器密钥以下列方式影响回调数据:

  • 修改器关键点可以影响字符属性,但不要更改钥匙财产。

  • 某些键,和钥匙修改过Ctrl键,将不可打印的字符放在字符财产。

  • Ctrl键,Alt,转移,以及其他几个密钥,不会生成字符属性数据。

您还可以查询当前字符属性来确定用户按下的字符。

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

  • 功能手柄。

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

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

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

函数时执行此回调函数表格对象具有焦点,并且用户释放密钥。

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

财产

描述

例子:

A.

=

转移

将一个

字符

发布关键的人物解释。

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

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

{1 x0细胞} {1 x0细胞} {1 x0细胞} {1 x0细胞}
钥匙

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

“a” “平等” “转移” “a”
当用户按键时具有焦点的对象。 表格对象 表格对象 表格对象 表格对象
eventName. 导致回调函数执行的动作。 日月光半导体的 日月光半导体的 日月光半导体的 日月光半导体的

按下修改器密钥以下列方式影响回调数据:

  • 修改器关键点可以影响字符属性,但不要更改钥匙财产。

  • 某些键,和钥匙修改过Ctrl键,将不可打印的字符放在字符财产。

  • Ctrl键,Alt,转移,以及其他几个密钥,不会生成字符属性数据。

您还可以查询当前字符属性来确定用户按下的字符。

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

  • 功能手柄。

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

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

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

此属性指定MATLAB创建组件时要执行的回调函数。在执行创建FCN回调。如果未指定创建FCN属性,然后MATLAB执行默认的创建函数。

使用gcbo函数在你创建FCN用于获取正在创建的组件对象的代码。

设定创建FCN属性对现有组件对象不起作用。

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

  • 功能手柄。

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

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

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

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

使用gcbo函数在你删除FCN获取要删除的组件对象的代码。

回调执行控制

全部展开

回调中断,指定为“开”或者“关闭”,或作为数字或逻辑1.(真的)或0().价值“开”相当于真的, 和“关闭”相当于。因此,您可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState

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

  • 这个运行Callback是当前正在执行的回调。

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

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

  • 价值“开”允许其他回调来中断对象的回调。中断发生在MATLAB处理队列的下一个点,例如当有drawnow,图形,getframe,等待暂停

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

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

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

请注意

在这些情况下,回调中断和执行的行为是不同的:

  • 如果中断回调是一个删除FCN,CloseRequestFcnSizeChangedFcn回调,则中断发生,而不考虑打断适当的价值。

  • 如果正在运行的回调当前正在执行等待函数,则无论打断适当的价值。

  • 计时器对象根据计划执行,而不考虑打断适当的价值。

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

看到中断回调执行举个例子来说明打断BusyAction属性影响程序的行为。

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

  • 这个运行Callback是当前正在执行的回调。

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

这个BusyAction中断回调源的属性确定MATLAB如何处理其执行。这个BusyAction属性具有以下值:

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

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

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

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

  • 离开-BusyAction属性(拥有中断回调的对象的属性)确定MATLAB是排队还是忽略中断回调。

看到中断回调执行举个例子来说明BusyAction打断属性影响程序的行为。

此属性是只读的。

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

MATLAB设置BeingDeleted财产“开”删除FCN回调函数开始执行。这个BeingDeleted财产仍然存在“开”直到组件对象不再存在。

检查值的值BeingDeleted属性,以验证在查询或修改对象之前不会删除该对象。

成为当前对象的能力,指定为“开”或者“关闭”,或作为数字或逻辑1.(真的)或0().价值“开”相当于真的, 和“关闭”相当于。因此,您可以将此属性的值用作逻辑值。该值存储为类型为的开/关逻辑值matlab.lang.OnOffSwitchState

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

  • “关闭”- 将当前对象设置为最接近的祖先表格谁的命中测试“开”当用户点击正在运行的应用程序中的组件时。

父母/子女

全部展开

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

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

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

此属性控制对象句柄在其父的子列表中的可见性。当句柄在其父的子列表中不可见时,通过搜索对象层次结构或查询句柄属性获取句柄的函数不会返回该句柄。这些功能包括得到,findobj.,gca,gcf,gco,新图,cla,clf, 和.这个HandleVisibility属性还控制对象句柄在父地物中的可见性当前对象财产。句柄即使不可见也仍然有效。如果你可以访问一个对象,你可以设置和获取它的属性,并将它传递给任何操作对象的函数。

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

设置图形根目录ShowHiddenHandles财产“开”让所有手柄可见,无论他们的HandleVisibility价值此设置不会影响其性能HandleVisibility值。

标识符

全部展开

此属性是只读的。

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

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

用户数据,指定为任意数组。指定用户数据可以在应用程序中共享数据。看到在回调之间共享数据了解更多信息。

兼容性的考虑

全部展开

不建议在R2020a中起动

介绍了R2008a