主要内容

表属性

控制表UI组件外观和行为Uifigure.基于应用程序

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

图= Uifigure;UIT = UITION(图,'数据',[1 2 3; 4 5 6; 7 8 9]);uit.fontsize = 10;

下面列出的属性对应用程序设计器中的表UI组件或使用Uifigure.函数。对于指南中使用的表UI组件,或在使用中创建的应用程序数字功能,参见表属性

表格

全部展开

表数据,指定为以下类型的数组之一:

  • 表数组 - 显示数据类型的任何组合桌子阵列支持,如金宝app约会时间持续时间, 和分类

  • 数字数组 - 显示诸如的数值双倍的或者

  • 逻辑阵列 - 显示复选框。真的值对应于所选框,而值显示已清除的框。

  • 单元格数组 - 显示数字,逻辑或字符数组值的任何组合。

  • 字符串数组 - 显示字符和文本。

  • 字符向量的单元格数组 - 显示字符和文本。

防止警告或当用户在可编辑单元格中输入无效数据时显示的值,请写一个celleditcallback.功能将数据转换为适当的类型。当用户编辑单元格时,数据属性更新。

指定表数组

表阵列提供了一种便捷的方法来将表格数据存储为MATLAB®变量。的桌子可阅读, 和array2table函数创建表阵列。相比之下,场上函数创建一个表格UI组件(应用程序的用户界面组件)。

当你指定数据财产的表格UI组件作为表格数组,然后MATLAB设置格式表格UI组件自动基于表数组中的值:

  • 默认情况下,应用程序中显示的列名匹配variablenames.属性的表数组。改变了columnname.财产的财产表格UI组件更新UI,但不会更新表数组中的变量名称。

  • 默认情况下,应用程序中显示的行名称匹配RowNames属性的表数组。改变了RowName财产的财产表格UI组件更新UI,但它不会更新表数组中的行名称。

  • 每个表阵列变量的数据类型控制应用程序中相应列的格式。如果你试图设置ColumNFormat.属性,MATLAB返回一个警告。

有关显示表数组数据的更多信息,请参见表阵列数据类型在App Designer Apps中

指定数字,逻辑,单元格,字符串数组或字符向量的单元数组

使用ColumNFormat.属性指定数据为数字、逻辑、单元格或字符串数组或字符向量的单元格数组的格式。如果数据被编辑并导致数据的数据类型与ColumNFormat.属性,Matlab转换数据或显示警告。看可编辑列的数据显示ColumNFormat.财产描述了解更多信息。

此属性是只读的。

表数据在当前显示中,作为表,数字,逻辑,单元格或字符串数​​组返回,或作为字符向量的小区数组。

如果要根据用户是否在表中对列进行排序或对单元格进行编辑来更新可视化,请使用此属性。

displaydata.更新表列的排序或编辑单元格时。如果用户不排序列,则displaydata.具有与存储在中的值相同的内容数据财产。当用户编辑单元格时,数据displaydata.属性这两个更新。

列名称,指定为其中一个值:

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

  • 字符向量单元格数组或分类数组——数组的每个元素都成为列的名称。如果你指定一个1乘-n单元格数组,MATLAB存储并将值返回为一个n- 1个单元阵列。如果您指定了一个-经过-nArray,MATLAB将数组重新插入列向量。通过包括垂直斜杠指定多行列名称(|)。例如,值'电话|号'在“电话”和“编号”字样之间,生成列标题。

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

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

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

如果您指定了数据属性作为表阵列,然后默认列名称匹配variablenames.属性的表数组。改变了columnname.财产的财产表格UI组件更新UI,但它不会更新表阵列中的变量名称。

例子:外的=场上(uifigure ColumnName,{“名称”,“数量”},“数据”,{“鲍勃”,5})

例子:外的=场上(uifigure ColumnName,{“名字”,[]},“数据”,{“鲍勃”,5})

表列的宽度,指定为“汽车”“健康”'1x',或作为一个1-by-n字符向量,字符串和数值的单元格阵列。

  • 自动宽度-指定“汽车”用MATLAB自动计算列的宽度使用几个因素,其中之一是columnname.适当的价值。

  • 适合内容的宽度 - 指定值“健康”配置列以严格调整宽度以适合列名称和数据。此设置允许较窄的列“汽车”做。

  • 统一宽度—指定的值为'1x'使所有列的宽度相同,平均分配可用空间。

  • 固定宽度 - 指定以像素单元中定义列宽的数值的单元格阵列。

  • 组合 - 您可以将固定和可变列宽度组合在单元格阵列中。单元格数组中的每个元素对应于表中的列。如果指定的单元格数组具有比列数更少的值,那么没有指定值的列会保留默认值“汽车”.如果数组具有比列数更大的值,Matlab忽略了额外的值。

  • 加权变量宽度 - 指定具有字符向量或字符串的单元阵列,这些传统矢量由连接的数字组成'X'(例如,“2 x”“3 x”, 等等。)。每列的X系数在与其他列中成比例地组成的列宽,考虑到UITable中的剩余空间。

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

例子:uit = suitable (uiffigure,'ColumnWidth','fit','Data',[1 2 3;4 5 6])

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

例子:UIT = UITION(UIFIGURE,'ColumnWIDTH',{'2x','1x','1x'},'data',[1 2 3; 4 5 6])

例子:UIT = UITION(UIFIGURE,'ColumnWIDTH',{64,“AUTO”,40},“数据”,[1 2 3; 4 5 6])

例子:UIT = UITION(UIFIGURE,'ColumnWidth',{'fit','1x','3x'},'data',[1 2 3; 4 5 6])

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

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

  • 一个逻辑1 -narray—该数组指定哪些列是可编辑的。的价值n等于表中列中的列数。数组中的每个值对应于表列。的值真的在数组中使该列中的单元格可编辑。的值使得该列中的细胞不可分辨衡。如果数组具有比列数更大的值,Matlab忽略了多余的值。如果数组的值少于列数,则没有指定值的列不可编辑。

  • 逻辑标量 - 整个表是可编辑或不可批量的。

当用户编辑单元格时,数据属性更新。

例子:UIT = UITION(UIFIGURE,'数据',RAND(10,3),'列标准',[false true true])

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

使用户能够与包含复选框或弹出菜单的表列中的控件进行交互,设置ColumnEditable财产真的

如果数据属性是一个表数组,然后是任何多列或包含不可编辑数据类型的变量,如持续时间,即使在运行应用程序中也不是可编辑的ColumnEditable属性是真的.单元格数组中包含混合数据类型的表数组变量在运行的应用程序中是可编辑的,只要数据类型是可编辑的。

排序列的能力,指定为:

  • 空逻辑阵列([]) - 没有列是可排序的。

  • 一个逻辑1 -n数组 - 此数组指定哪些列是可排序的。的价值n等于表中列中的列数。数组中的每个值对应于表列。的值真的在阵列中,该列可供选择。的值制作柱子不输出。如果数组具有比列数更大的值,Matlab忽略了多余的值。如果阵列的值较少,则没有列数,则没有指定值的列不可排序。

  • 逻辑标量——整个表是可排序的(真的)或无要点()。

例子:uit = uifigure ('Data',rand(3),'ColumnSortable',[true true false]);

例子:外的=场上(uifigure,“数据”,兰德(5),“ColumnSortable”,真正的);

如果数据属性包含单元阵列与单元阵列数据或表数组数据列,然后只和统一的数据类型的列的数字或字符数组,数组或单元的特征向量是可排序的应用程序运行。单元阵列与统一的逻辑数据或非均匀数据类型列不能排序的运行应用程序,即使ClassSorable.属性是真的

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

数据属性包含A.桌子数组中。有关更多信息,请参阅表阵列数据类型在App Designer Apps中

此属性设置用于显示数字,逻辑,单元格或字符串阵列的格式,以及字符向量数据类型的单元格数组。单元格数组的元素对应于列中的列数据属性数组。如果不想指定特定列的显示格式,请指定[]对于那栏。如果未指定列的格式,MATLAB会通过单元格中的数据类型确定默认显示。

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

单元格格式的值

描述

“字符”

显示左对齐值。如果是一个元素数据属性阵列是逻辑的,然后真的或者出现在表中。

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

“逻辑”

显示一个核心典型的复选框。最初,当相应的时选择复选框数据价值评估真的.相应的值数据属性数组必须是类型逻辑确保数据在表中正确显示。

要编辑单元格,用户会选择或清除复选框。然后,Matlab设置相应的数据价值真的或者.的ColumnEditable财产价值必须是真的允许用户选择或清除复选框。

'数字'

显示与命令窗口显示的右对齐值,以获取数字数据。如果是一个元素数据属性阵列是逻辑的,然后1或者0出现在表中。如果是一个元素数据属性数组不是数字的,也不是逻辑的出现在表中。

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

如果用户输入表示常量的文本,例如PI.,你可以代码celleditcallback.函数将值转换为等价的数值。在这种情况下,MATLAB试图将用户输入的文本转换为数值,并将其存储在数据财产。然后,这celleditcallback.函数执行。看到celleditcallback.描述一个例子。

一个1-by-n特区的字符向量阵列,例如{'一二三'}

在可编辑列中显示弹出菜单。该值显示为左是否合理ColumnEditable属性设置为真的或者

要编辑单元格,用户可以从弹出菜单中选择一个项目,或者输入文本来创建一个新项目。MATLAB设置相应的数据属性数组值到所选菜单项。的ColumnEditable财产价值必须是真的允许用户在弹出菜单中选择项目。

控件接受的格式名格式功能,如:'短的'或者'长'

显示数据属性值使用指定的格式。值显示为右对齐。

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

如果ColumNFormat.值定义一个弹出式菜单,初始值数据Value不一定是菜单中的选项之一。最初的数据出现值,直到用户进行不同的选择。

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

图= Uifigure;mydata = {'安德鲁'31'男性'选择';......'Bob'41'男性'选择';......'Anne'20'女性'选择';};UIT = UITION('parent',flow ...'position',[100 150 380 100],...'columebormat',({[] [] [] [] {'group 1'组2'}}),...'列标准',true,...'data',mydata);

可编辑列的数据显示

此表介绍了各种数据类型与特定的各种数据类型ColumNFormat.价值观。

ColumNFormat.
'数字' “字符” “逻辑”
数据数组值的数据类型 任何数值类型 表显示AS-IS。 MATLAB将值转换为文本,并在表中显示它左侧已左侧。如果MATLAB无法转换值,那么显示器。 不推荐。当用户编辑单元格时,MATLAB可能会返回一个警告,除非您定义celleditcallback.函数。
char 表右对齐显示值,就好像它是一个数字。 表格按原样显示值。 不推荐。当用户编辑单元格时,MATLAB可能会返回一个警告,除非您定义celleditcallback.函数。
逻辑 表格将逻辑值显示为数字。当用户编辑单元格时,MATLAB可能会返回一个警告,除非您定义celleditcallback.函数。 表显示为左对齐的逻辑值'真的'或者'错误的'.当用户编辑单元格时,MATLAB可能会返回一个警告,除非您定义celleditcallback.函数。 表格将逻辑值显示为复选框。

行名称,指定为其中一个值:

  • “编号”- 行标题是启动的顺序编号1

  • 字符向量或分类数组的单元格数组 - 阵列的每个元素都成为行的名称。行名称仅限于一行文本。如果你指定一个1乘-n单元格数组,MATLAB存储并将值返回为一个n- 1个单元阵列。如果您指定了一个-经过-nArray,MATLAB将数组重新插入列向量。

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

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

如果行的行数数据属性阵列与中的元素数量不匹配RowName数组,然后结果表中的行数反映了行数数据财产。

如果您指定了数据属性作为表数组,然后默认行名称匹配RowNames属性的表数组。改变了RowName属性更新UI,但它不会更新表数组中的行名。

例子:UIT = UITION(UIFIGURE,'Rowname',{'name';'number'},'data',{'bob'; 5})

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

此属性是只读的。

添加样式的配置,作为n-By-3表阵列。表数组的每一行对应于当前应用于表UI组件的样式。连续添加的风格被提供一种风格订单号n + 1.的目标TargetIndex.列指定添加样式的表UI组件的部分。的风格列指定样式类名。

如果要使用该属性从表UI组件中删除样本,请使用此属性Removestyle.函数。例如,在本例中,三个样式被添加到表UI组件中。

s1 = uistyle ('背景颜色'“黄色”);s2 = uistyle ('背景颜色''红色的');s3 = uistyle ('字体颜色'“b”“FontWeight”“大胆”);图= Uifigure;fig.Position = [100 100 520 220];UIT = UITION(图);uit.data = rand(5);Uit.Position = [20 30 480 135];addstyle(uit,s1,“行”,[1 2 4 5]);addStyle(外的,s2,'细胞', (2 1;4 2;1 3;1 5]) addStyle (s3外的,“列”,2);

当你查询外的。StyleConfigurations,则返回一个3 × 3的表数组。行样式是首先添加到表UI组件的,因此它是样式序号1.的TargetIndex.行风格的价值,{1×4双},表示在添加样式时指定了四行。类似地,第二种样式被添加到表中的四个单元格中。第三种样式被添加到第二列。

外的。StyleConfigurations
ans = 3×3表目标TargetIndex风格  ______ ____________ ___________________________ 1行{1×4双}[1×1 matlab.ui.style。{4×2 double} [1×1 matlab.ui.style.]风格] 3 column {[ 2]} [1×1 matlab.ui.style.Style]

通过指定样式订单号,删除添加到表中的第二种样式2.注意表UI组件的更新方式。

removeStyle(外的,2)

字体

全部展开

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

如果指定的字体不可用,那么MATLAB将使用运行应用程序的系统中可用的字体之间的最佳匹配。

字体大小,指定为正数。测量单位是像素。默认字体大小取决于特定的操作系统和语言环境。

例子:14.

字体重量,指定为其中一个值:

  • '普通的'-由特定字体定义的默认权重

  • “大胆”-较厚的字符轮廓比'普通的'

并不是所有的字体都有粗体字体。对于不,指定的字体“大胆”导致正常的字体重量。

字体角度,指定为'普通的'或者“斜体”.并非所有字体都有斜体字体角度。对于不,指定的字体“斜体”结果显示正常的字体角度。

字体大小单位,指定为“像素”

互动

全部展开

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

  • “上”- 显示对象。

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

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

表的操作状态,指定为“上”或者“关闭”.的使能够属性控制UI组件是否响应按钮单击。有两种可能的值:

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

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

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

启用价值 应对左击 右键单击响应
“上”

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

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

  2. ButtonDownFcn回调执行。

“关闭”

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

  2. ButtonDownFcn回调执行。

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

  2. ButtonDownFcn回调执行。

工具提示,指定为字符向量、字符向量的单元格数组、字符串数组或1-D分类数组。当用户在运行时将指针悬停在组件上时,使用此属性显示消息。即使组件被禁用,工具提示也会显示出来。若要显示多行文本,请指定字符向量单元格数组或字符串数组。数组中的每个元素变成一行单独的文本。如果将此属性指定为类别数组,MATLAB将使用数组中的值,而不是全部类别集合。

上下文菜单,指定为上下文菜单使用UIContextMenu.函数。在组件上单击右键时,使用此属性显示上下文菜单。

颜色和样式

全部展开

单元格文本颜色,指定为RGB三元组、十六进制颜色代码或表中列出的颜色选项之一。属性设置单元格文本颜色时前景色属性适用于表UI组件中的所有单元格。

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

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

  • 十六进制颜色代码是以哈希符号开头的字符向量或字符串标量(),然后是3个或6个十六进制数字,其范围可以是0F.这些值不区分大小写。因此,颜色代码'#ff8800'“# ff8800”'#f80', 和“# f80”是等价的。

或者,您可以按名称指定一些常见颜色。此表列出了名为Color选项,等效RGB三元组和十六进制颜色代码。

颜色名称 简称 RGB值 十六进制颜色代码 外貌
'红色的' “r” [1 0 0] '#ff0000'

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

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

'青色' “c” [0 1 1] “# 00飞行符”

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

“黄色” '是' (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三联体或一个- 3个RGB三元组矩阵。RGB三元组是一排矢量,指定红色,绿色和蓝色组件的强度。强度必须在范围内,[0, 1].颜色名称无效。

指定一个-By-3矩阵当您希望表行的阴影遵循重复模式不同的颜色。矩阵的每一行必须是一个RGB三元组。MATLAB使用矩阵的行数当RowStriping属性是“上”.表格背景不是条纹的,除非两者都是RowStriping“上”写成BackgroundColor是一个-By-3矩阵。

例子:uit = suitable (uiffigure,'Data',rand(10,3),'BackgroundColor',[0.85 0.85 1])

例子:UIT = UITION(UIFIGURE,'数据',RAND(10,3),'BackgroundColor',[1 1 1; 0.85 0.85 1])

下表列出了某些颜色的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

此属性控制表行的着色模式。当。。。的时候RowStriping值设置为“上”, 这写成BackgroundColorMatrix指定要在重复模式中显示的行颜色。如果写成BackgroundColor矩阵只有一行,那么在所有表行中的阴影都是相同的。

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

位置

全部展开

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

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

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

位置值相对于可拉的区域父容器。可拉伸区域是容器边界内的区域,并且不包括装饰品(例如菜单栏或标题)所占用的区域。

表的位置和大小,指定为表单的四元素矢量[左下宽度].所有测量的单位均由单位财产。

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

表的位置和大小,指定为表单的四元素矢量[左下宽度].所有测量的单位均由单位财产。

此属性值与此属性相同位置InnerPosition属性值。

测量单位,指定为“像素”.MATLAB从父对象的左下角测量所有单位。

布局选项,指定为aGridLayoutOptions对象。此属性为网格布局容器的子组件指定选项。如果组件不是网格布局容器的子组件(例如,它是图形或面板的子组件),则此属性为空,不起作用。但是,如果组件是网格布局容器的子组件,则可以通过设置属性GridLayoutOptions对象。

例如,此代码将表UI组件放在其父网格的第三行和第二列中。

G = uigridlayout([4 3]);外的=场上(g,'数据',兰德(10,3));uit.layout.row = 3;uit.layout.column = 2;

要使表跨量多行或列,请指定或者属性为二元素向量。例如,这个表跨列2通过3.

uit.Layout.Column = [2 3];

回调

全部展开

单元格编辑回调函数,指定为其中一个值:

  • 功能手柄。

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

  • 包含有效MATLAB表达式(不推荐)的字符向量。MATLAB在基础工作区中评估此表达式。

使用此回调函数在应用程序用户更改表格单元的内容时执行计算或验证输入。

此回调函数可以访问有关用户与单元的交互的特定信息(例如单元指标)。matlab通过此信息CellEditData对象作为回调函数的第二个参数。在App Designer中,参数被调用事件.您可以使用点表示法查询对象属性。例如,事件。指数返回所选单元格的索引。的CellEditData对象不可用于指定为字符向量的回调函数。

下表描述了属性CellEditData对象。

财产

描述

指数

这是一个1-of-2数组,包含用户编辑在运行应用程序中的小区的行和列索引。当列被排序时,指数返回单元格排序前的原始1乘2数组DisplayIndices返回已编辑单元格的新位置,该位置将在已排序的表中可视地显示。

DisplayIndices

这是一个1乘2的数组,包含与已编辑单元格在已排序表中显示的位置相对应的行和列索引。如果用户不排序列,则DisplayIndices具有与之相同的内容指数财产。

PreviousData

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

editdata.

这是用户输入的值。

NewData

这是matlab写信给的价值数据属性数组。

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

错误

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

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

如果错误财产不是空的,然后是celleditcallback.可以显示消息,或者它可以尝试解决问题。

组件执行回调。

eventName.

“CellEdit”

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

  1. 将新值存储到数据桌子的财产

  2. 打电话给celleditcallback.功能(如果存在)

如果该值导致错误,并且没有celleditcallback.函数,然后将单元格数据恢复到其先前的值,并且显示错误。

有关编写回调的更多信息,请参见在应用程序设计器中编写回调

单元格选择回调函数,指定为其中一个值:

  • 功能手柄。

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

  • 包含有效MATLAB表达式(不推荐)的字符向量。MATLAB在基础工作区中评估此表达式。

该回调函数在用户选择单元格时执行。可以通过单击它或使用箭头键导航到它来选择单个数据单元(不是行或列标题)。可以使用表中描述的任何操作选择多个小区。选择多个单元格时,根据它们是连续还是不连续使用不同的操作。

连续选择选项
单击单元格并拖动。
然后单击一个单元格Shift +点击另一个单元格来选择中间的所有单元格。
然后单击一个单元格Shift +箭头键添加连续的单元格。
单击行标题或列标题以选择整个行或列。
然后单击单元格Ctrl + space要选择该列中的所有单元格(无论是所有单元格是否处于视图中)。
然后单击单元格Shift +空间要选择该行中的所有单元格(无论是所有单元格是否处于视图中)。
选择行或列。然后Shift +点击另一个行或列标题以选择介于之间的所有行或列。
然后单击一个单元格转移+ PGUP.或者转移+ pgdn.选择在该小区上方或下方的所有可见单元。
新闻Ctrl + A.选择表格中的所有单元格

不连续选择选项
单击并拖动以选择连续的单元格组(或选择单个单元格)。然后,Ctrl +点击焦点另一个细胞,最后Shift +点击选择焦点的单元格或Shift +点击并拖动以选择从中传播的一系列单元格。(紧迫Shift +箭头键也可选择多个单元。)
Ctrl +点击在行或列标题上以选择整个行或列。然后重复以选择另一个非相邻的行或列。

当使用细胞使用时Ctrl +点击,细胞轮廓变为蓝色()。使用单击或单击选择单元格时Shift +点击,则单元格填充颜色变为蓝色()。

此回调函数可以访问有关用户与单元的交互的特定信息(例如单元指标)。matlab通过此信息CellSelectionChangedata.对象作为回调函数的第二个参数。在App Designer中,参数被调用事件.您可以使用点表示法查询对象属性。例如,事件。指数返回所选单元格的索引。的CellSelectionChangedata.对象不可用于指定为字符向量的回调函数。

下表描述了属性CellSelectionChangedata.对象。

财产

描述

指数

这是一个n-by-2数组,包含用户在运行的应用程序中选择的单元格的行和列索引。对于表数组中的多列变量,列索引指整个列。当列被排序时,指数返回单元格排序前的原始1乘2数组DisplayIndices返回在排序表中可视显示的所选单元格的新位置。

DisplayIndices

这是一个n-2 array包含与所选单元的显示位置相对应的行和列索引。如果用户没有对表进行排序,那么DisplayIndices具有与之相同的内容指数财产。

组件执行回调。

eventName.

'Cellselection'

有关编写回调的更多信息,请参见在应用程序设计器中编写回调

显示数据更改时的回调,指定为其中一个值:

  • 功能手柄。

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

  • 包含有效MATLAB表达式(不推荐)的字符向量。MATLAB在基础工作区中评估此表达式。

函数时执行此回调函数displaydata.更改,因为用户要么编辑单元格,要么对表的列进行排序。

如果希望有关导致用户交互的信息,请使用此回调displaydata.改变。如果您需要关于编辑单元格的特定信息,请创建celleditcallback.反而。

此回调函数可以访问有关是否是针对列的特定信息或编辑单元格。matlab通过此信息displaydatachangeddata.对象作为回调函数的第二个参数。在App Designer中,参数被调用事件.您可以使用点表示法查询对象属性。例如,event.interactionColumn.返回与IN互动的列的索引数据.的displaydatachangeddata.对象不可用于指定为字符向量的回调函数。

财产 描述
DisplayRowName 细胞阵列RowName属性值的排序显示。DisplayRowName会永远是原来的一个排列吗RowName财产。
displaycolumnname. 细胞阵列columnname.属性值的排序显示。displaycolumnname.会永远是原来的一个排列吗columnname.财产。
交互 “排序”或者'编辑'
InteractionColumn. 修改专栏索引数据
InteractionDisplayColumn. 修改专栏索引displaydata.
InteractionVariable variablenames.表阵列数据的修改列的属性。如果数据然后包含除表阵列之外的数据类型,然后InteractionVariable返回空字符数组。
组件执行回调。
eventName.

'displaydatachanged'

有关将回调作为函数句柄,小区阵列或字符向量的更多信息,请参阅在应用程序设计器中编写回调

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

  • 功能手柄。

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

  • 包含有效MATLAB表达式(不推荐)的字符向量。MATLAB在基础工作区中评估此表达式。

有关将回调属性值指定为函数句柄,小区数组或字符向量的详细信息,请参阅如何指定回调属性值

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

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

  • 用户右键单击或左键单击该表,以及使能够属性设置为“关闭”

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

  • 功能手柄。

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

  • 包含有效MATLAB表达式(不推荐)的字符向量。MATLAB在基础工作区中评估此表达式。

有关将回调属性值指定为函数句柄,小区数组或字符向量的详细信息,请参阅如何指定回调属性值

函数时执行此回调函数表格对象具有焦点,用户按下键。如果您未为此属性定义函数,则MATLAB通过键将按键到父图。重复的按键是保留了焦点表格对象,函数使用每个键按。如果用户大致同时按下多个键,MATLAB会检测到按下的最后一个键的键压。

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

财产

描述

例子:

一个

转变

将一个

字符 按下一个或多个键后显示的字符。字符可以为空或不可打印。 “一个” '=' '' '一种'
改性剂 一个单元格数组,其中包含一个或多个正在按下的修饰符键的名称(例如,Ctrlalt.转变)。 {1x0 cell} {1x0 cell} {“转变”} {“转变”}
关键 按下的键,由密钥上的(小写)标签或文本描述标识。 “一个” “平等” '转移' “一个”
当用户按下键时具有焦点的对象。 表格对象 表格对象 表格对象 表格对象
eventName. 导致回调函数执行的操作。 '按键' '按键' '按键' '按键'

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

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

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

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

你也可以查询CurrentCharacter数字的属性以确定用户按下的字符。

键释放回调函数,指定为其中一个值:

  • 功能手柄。

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

  • 包含有效MATLAB表达式(不推荐)的字符向量。MATLAB在基础工作区中评估此表达式。

有关将回调属性值指定为函数句柄,小区数组或字符向量的详细信息,请参阅如何指定回调属性值

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

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

财产

描述

例子:

一个

转变

将一个

字符

释放钥匙的字符解释。

“一个” '=' '' '一种'
改性剂

当前修改器,如'控制',如果没有修饰符则为空单元格数组。

{1x0 cell} {1x0 cell} {1x0 cell} {1x0 cell}
关键

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

“一个” “平等” '转移' “一个”
当用户按下键时具有焦点的对象。 表格对象 表格对象 表格对象 表格对象
eventName. 导致回调函数执行的操作。 'ASE' 'ASE' 'ASE' 'ASE'

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

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

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

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

你也可以查询CurrentCharacter数字的属性以确定用户按下的字符。

对象创建函数,指定为其中一个值:

  • 函数处理。

  • 其中第一元素是函数手柄的单元阵列。单元格数组中的后续元素是传递给回调函数的参数。

  • 字符矢量包含有效的matlab表达式(不推荐)。MATLAB在基础工作区中评估此表达式。

有关将回调作为函数句柄,小区阵列或字符向量的更多信息,请参阅在应用程序设计器中编写回调

此属性指定MATLAB创建对象时要执行的回调函数。MATLAB在执行之前初始化所有属性值CreateFcn.打回来。如果不指定CreateFcn.属性,然后matlab执行默认的创建功能。

设置CreateFcn.现有组件上的属性无效。

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

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

  • 函数处理。

  • 其中第一元素是函数手柄的单元阵列。单元格数组中的后续元素是传递给回调函数的参数。

  • 字符矢量包含有效的matlab表达式(不推荐)。MATLAB在基础工作区中评估此表达式。

有关将回调作为函数句柄,小区阵列或字符向量的更多信息,请参阅在应用程序设计器中编写回调

此属性指定MATLAB删除对象时要执行的回调函数。Matlab执行了deletefcn.在销毁对象的属性之前回调。如果不指定deletefcn.属性,然后MATLAB执行一个默认删除函数。

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

回调执行控制

全部展开

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

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

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

  • 中断回调是一个回调,它试图中断运行的回调。

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

  • 的值“上”允许其他回调中断对象的回调。中断发生在matlab处理队列的下一个点,例如何时存在drawnow数字Uifigure.GetFrame.等待,或暂停命令。

    • 如果运行回调包含其中一个命令,则Matlab在该点处停止执行回调并执行中断回调。MATLAB在中断回调完成时执行运行回调。

    • 如果运行回调不包含其中一个命令,则matlab完成在不中断的情况下执行回调。

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

笔记

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

  • 如果中断回调是一个deletefcn.CloseEquestfcn.或者SizechangedFCN.回调,那么无论的内容都会发生中断中断适当的价值。

  • 如果正在运行的回调函数正在执行等待函数,则不管中断适当的价值。

  • 计时器对象根据调度执行,而不管中断适当的价值。

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

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

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

  • 中断回调是一个回调,它试图中断运行的回调。

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

  • “队列”- 将中断回调在运行回调完成后在队列中进行处理。

  • '取消'- 不执行中断回调。

此属性是只读的。

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

MATLAB设置呈扭曲财产“上”当。。。的时候deletefcn.回调开始执行。的呈扭曲财产仍然存在“上”直到组件对象不再存在。

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

父/子

全部展开

父容器,指定为a数字使用Uifigure.功能,或其中一个子容器:选项卡控制板ButtonGroup,或网格布局.如果没有指定容器,则MATLAB调用Uifigure.函数创建一个新的数字用作父容器的对象。

表的子数组,作为空数组返回。表对象没有子对象,因此设置此属性没有作用。

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

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

HandleVisibility价值 描述
“上” 该对象始终可见。
“回调” 从回调或通过回调调用的函数中可以看到该对象,但不是从命令行调用的函数中。此选项会阻止在命令行处访问对象,但允许回调函数访问它。
“关闭” 对象始终是不可见的。此选项对于防止其他函数对UI的意外更改非常有用。设定Huppervisibility.“关闭”在函数执行期间暂时隐藏对象。

身份标识

全部展开

此属性是只读的。

图形对象的类型,返回为'UITION'

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

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

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

介绍了R2016b