主要内容

表属性

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

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

FIG = ufigure;uit = uitable(图,'Data',[1 2 3;4 5 6;7 8 9]);外的。FontSize = 10;

的一些属性和属性值表格对象的不同取决于表是否是使用uifigure函数或数字函数。的uifigurefunction是在构建新应用程序时推荐使用的函数,也是应用程序设计器应用程序中使用的函数。有关更多信息,请参见开发应用的方法

表格

全部展开

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

  • 表数组(uifigure仅基于应用程序)-显示任何数据类型的组合表格数组支持,例如金宝appdatetime持续时间,分类

  • 数值数组-显示数值值,例如

  • 逻辑数组—显示复选框。真正的值对应于选定的框,而值显示已清除的框。

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

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

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

为了防止警告或当用户在可编辑单元格中输入无效数据时显示的值,则写入CellEditCallback函数将数据转换为适当的类型。当用户编辑单元格时,数据属性更新。

指定一个表数组

类创建的应用程序uifigure函数时,可以指定数据属性作为表数组。表数组提供了一种方便的方法来存储作为MATLAB的表格数据®变量。的表格readtable,array2table函数创建表数组。相比之下,场上函数创建表格UI组件(应用程序的用户界面组件)。

当您指定数据的属性表格UI组件作为一个表数组,然后MATLAB设置的格式表格UI组件自动基于表数组中的值:

  • 默认情况下,应用程序中显示的列名与VariableNames属性。改变了ColumnName的属性表格UI组件更新UI,但它不更新表数组中的变量名。

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

  • 每个表数组变量的数据类型控制应用程序中相应列的格式ColumnFormat属性,MATLAB返回一个警告。

有关显示表数组数据的详细信息,请参见应用程序设计器应用程序中的表数组数据类型

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

使用ColumnFormat属性指定数值、逻辑、单元格或字符串数组或字符向量的单元格数组的数据的格式。类的数据类型与数据类型之间不匹配ColumnFormat属性,MATLAB转换数据或显示警告。看到可编辑列的数据显示ColumnFormat属性描述以获取更多信息。

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

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

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

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

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

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

如果您指定数据属性作为表数组,则默认列名与VariableNames属性。改变了ColumnName的属性表格UI组件更新UI,但它不会更新表数组中的变量名。

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

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

表列的宽度指定为“汽车”或者作为1——- - - - - -n字符向量、字符串和数值的单元格数组。在uifigure基于应用程序,你可以额外指定列宽度为“1 x”“健康”

  • 自动宽度-指定“汽车”让MATLAB自动计算列的宽度使用几个因素,其中之一是ColumnName属性值。

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

  • 均匀宽度(uifigure-指定值为“1 x”要使所有列都具有相同的宽度,请将可用空间等分。

  • 固定宽度-指定数值单元格数组,以像素单位定义列宽度。

  • 组合——你可以在单元格数组中组合固定和可变的列宽。单元格数组中的每个元素都对应于表中的一列。如果指定的单元格数组的值小于列数,则没有指定值的列将保留默认值“汽车”.如果数组的值大于列数,MATLAB将忽略额外的值。

  • 加权可变宽度(uifigure-指定一个单元格数组,包含字符向量或由数字连接到的字符串“x”(例如,“2 x”“3 x”等)。每个列的x因子相对于其他列按比例设置列宽,并考虑UI表中的剩余空间。

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

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

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

例子:外的=场上(uifigure ColumnWidth, {' 2 x ', ' 1 x ', ' 1 x '},“数据”,[1 2 3,4 5 6])

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

例子:外的=场上(uifigure ColumnWidth,{‘配合’,‘1 x’,‘3 x’},“数据”,[1 2 3,4 5 6])

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

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

  • 一个逻辑上的1 × -narray -该数组指定哪些列是可编辑的。的价值n等于表中的列数。数组中的每个值都对应一个表列。值为真正的在数组中使该列中的单元格可编辑。值为使该列中的单元格不可编辑。如果数组的值大于列数,MATLAB将忽略多余的值。如果数组的值小于列数,则没有指定值的列是不可编辑的。

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

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

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

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

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

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

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

时不要设置此属性数据属性包含表格数组中。有关更多信息,请参见应用程序设计器应用程序中的表数组数据类型

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

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

单元格格式值

描述

“字符”

显示左对齐的值。中的元素数据那么属性数组是逻辑的真正的出现在表中。

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

“逻辑”

显示一个居中对齐的复选框。最初,当对应的数据值计算为真正的.中的对应值数据属性数组必须为类型逻辑以确保数据在表中正确显示。

要编辑单元格,用户选择或清除复选框。然后用MATLAB进行相应的设置数据价值真正的.的ColumnEditable属性值必须为真正的允许用户选择或清除复选框。

“数字”

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

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

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

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

在可编辑列中显示弹出式菜单。该值显示为左对齐ColumnEditable属性设置为真正的

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

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

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

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

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

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

FIG = ufigure;myData = {'Andrew' 31 'Male' ' select ';...“鲍勃”41“男”“选择”;...“安妮”20“女”“选择”;};uit = uitable('Parent', fig,…'Position',[100 150 380 100],…“ColumnFormat ',({[] [] [] {' 组1 ' '组2 '}}),……“ColumnEditable”,真的,… 'Data',myData);

可编辑列的数据显示

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

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

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

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

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

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

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

的行数数据属性数组中的元素数目不匹配RowName数组中的行数,则结果表中的行数反映数据财产。

如果您指定数据属性作为表数组,则默认行名与RowName属性。改变了RowName属性的表UI组件更新UI,但它不会更新表数组中的行名。

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

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

字体

全部展开

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

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

例子:“天线”

数字的应用程序

属性创建的应用程序中的表数字函数时,还可以将字体名称指定为“FixedWidth”.它使用固定宽度的字体,在任何地区看起来都很好。实际使用的固定宽度字体取决于FixedWidthFontName根对象的属性。改变了FixedWidthFontName属性导致立即更新显示以使用新字体。

字体大小,指定为正数。测量单位是像素。默认字体大小取决于特定的操作系统和区域设置。

例子:14

字体权重,指定为以下值之一:

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

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

并非所有字体都有粗体字体粗体。对于没有的字体,指定“大胆”结果显示正常字体粗细。

字体角度,指定为“正常”“斜体”.不是所有字体都有斜体角度。对于没有的字体,指定“斜体”结果字体角度正常。

字体度量单位,指定为本表中的值之一。

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

在Windows上,以像素为单位的距离与系统分辨率无关®麦金塔系统:

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

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

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

“点”

1分是1/72英寸。

“归一化” 将字体大小指定为高度的一部分的规范化值。当您调整UI组件的大小时,MATLAB会缩放显示的字体以保持该分数。
“英寸” 英寸。
“厘米” 厘米。

数字的应用程序

属性创建的应用程序中的表数字函数,默认值为FontUnits“点”

交互性

全部展开

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

  • “上”—显示对象。

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

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

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

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

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

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

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

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

SelectionChangedFcn函数执行。的选择属性更新在MATLAB传递给回调函数的回调数据对象中。

  1. 图的WindowButtonDownFcn回调执行。

  2. ButtonDownFcn回调执行。

“关闭”“不活跃”

  1. 图的WindowButtonDownFcn回调执行。

  2. ButtonDownFcn回调执行。

  1. 图的WindowButtonDownFcn回调执行。

  2. ButtonDownFcn回调执行。

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

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

颜色和样式

全部展开

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

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”

RGB三联体[0 0.4470 0.7410]样品,呈深蓝色

[0.8500 0.3250 0.0980] “# D95319”

RGB三联体样品[0.8500 0.3250 0.0980],呈暗橙色

[0.9290 0.6940 0.1250] “# EDB120”

RGB三联体样品[0.9290 0.6940 0.1250],呈暗黄色

[0.4940 0.1840 0.5560] “# 7 e2f8e”

RGB三联体样品[0.4940 0.1840 0.5560],呈深紫色

[0.4660 0.6740 0.1880] “# 77 ac30”

RGB三联体[0.4660 0.6740 0.1880]样本,呈现中绿色

[0.3010 0.7450 0.9330] “# 4 dbeee”

RGB三联体样品[0.3010 0.7450 0.9330],呈浅蓝色

[0.6350 0.0780 0.1840] “# A2142F”

RGB三联体样品[0.6350 0.0780 0.1840],呈暗红色

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

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

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

例子:uit = uitable(ufigure,'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]

交替行底纹,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).值为“上”等于真正的,“关闭”等于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState

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

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

位置

全部展开

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

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

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

位置值相对于可拉的区域父容器的。可绘制区域是容器边界内的区域,不包括菜单栏或标题等装饰所占用的区域。

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

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

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

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

度量单位,在本表中指定为其中一个值。

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

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

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

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

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

“归一化”

这些单元相对于父容器是规范化的。容器的左下角映射到(0,0)右上角映射到(1,1)

“英寸” 英寸。
“厘米” 厘米。
“点” 点。1分等于1/72英寸。

推荐值为:“像素”,因为大多数MATLAB应用程序构建功能以像素为单位测量距离。类创建的网格布局管理器,通过将表父化,可以创建一个根据父容器大小重新缩放的表uigridlayout函数。有关更多信息,请参见以编程方式布局应用程序

数字的应用程序

属性创建的应用程序中的表数字函数,默认值为单位“归一化”

此外,您还可以指定单位作为“角色”.字符单位基于图形根对象的默认uicontrol字体:

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

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

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

回调

全部展开

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

  • 一个函数句柄。

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

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

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

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

属性的属性说明如下CellEditData对象。

财产

描述

指数

这是一个1 × 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在基本工作空间中计算这个表达式。

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

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执行默认的创建函数。

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

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

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

  • 函数处理。

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

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

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

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

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

请注意

类创建的应用程序中的表或应用程序中的表不建议使用此属性uifigure函数。在uifigure的应用程序,当应用程序用户选择表的不同元素时执行命令,使用SelectionChangedFcn财产。

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

  • 一个函数句柄。

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

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

该回调函数在用户选择单元格时执行。该函数可以访问关于用户与单元格交互的特定信息(例如单元格索引)。MATLAB将此信息传递到CellSelectionChangeData对象作为回调函数的第二个参数。在App Designer中,这个参数被调用事件.可以使用点表示法查询对象属性。例如,事件。在dices返回选定单元格的索引。的CellSelectionChangeData对象对于指定为字符向量的回调函数不可用。

属性的属性说明如下CellSelectionChangeData对象。

财产

描述

指数

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

DisplayIndices

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

组件执行回调。

EventName

“CellSelection”

有关编写回调函数的详细信息,请参见在应用程序设计器中编写回调

回调执行控制

全部展开

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

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

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

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

MATLAB在执行处理回调队列的命令时确定回调中断行为。这些命令包括drawnow数字uifiguregetframe等待,暂停

如果正在运行的回调不包含这些命令之一,则不会发生中断。MATLAB首先完成运行回调的执行,然后再执行中断回调。

如果正在运行的回调包含这些命令之一,则可中断属性决定是否发生中断:

  • 如果的值可中断“关闭”,则不发生中断。相反,BusyAction属性确定中断回调是被丢弃还是添加到回调队列。

  • 如果的值可中断“上”,则中断。下一次MATLAB处理回调队列时,它将停止正在运行的回调的执行,并执行中断的回调。中断回调完成后,MATLAB继续执行正在运行的回调。

请注意

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

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

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

  • 如果中断回调属于计时器对象,则回调函数将根据调度执行,而不管可中断属性值。

请注意

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

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

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

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

BusyAction属性仅在满足以下两个条件时确定回调排队行为:

在这些条件下,BusyAction拥有中断回调的对象的属性决定了MATLAB如何处理中断回调。的可能值BusyAction属性:

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

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

此属性是只读的。

删除状态,作为类型的on/off逻辑值返回matlab.lang.OnOffSwitchState

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

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

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

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

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

父/子

全部展开

父容器,指定为数字对象创建。uifigure函数,或者它的子容器之一:选项卡面板ButtonGroup,或GridLayout.如果没有指定容器,MATLAB将调用uifigure函数创建一个新的数字对象,该对象用作父容器。

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

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

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

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

标识符

全部展开

此属性是只读的。

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

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

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

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

uifigure仅限基于应用程序

全部展开

此属性是只读的。

请注意

属性仅对应用程序设计器中的表和使用uifigure函数。

当前显示中的表数据,以表、数字、逻辑、单元格或字符串数组或字符向量的单元格数组形式返回。

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

DisplayData对表列进行排序或编辑单元格时进行更新。如果用户不对列进行排序,则DisplayData中存储的值具有相同的内容数据财产。当用户编辑单元格时,数据而且DisplayData属性都会更新。

请注意

属性仅对应用程序设计器中的表和使用uifigure函数。

列排序功能,指定为:

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

  • 一个逻辑上的1 × -narray -该数组指定哪些列是可排序的。的价值n等于表中的列数。数组中的每个值都对应一个表列。值为真正的在数组中使该列可排序。值为使该列不可排序。如果数组的值大于列数,MATLAB将忽略多余的值。如果数组的值小于列数,则没有指定值的列不可排序。

  • 逻辑标量——整个表是可排序的(真正的)或无法分类().

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

例子:uit = uitable(ufigure,'Data',rand(5),'ColumnSortable',true);

如果数据属性包含单元格数组数据或具有单元格数组列的表数组数据,则只有具有数值数组或字符数组的统一数据类型的列,或具有字符向量的单元格数组的列在运行的应用程序中是可排序的ColumnSortable属性是真正的

此属性是只读的。

请注意

属性仅对应用程序设计器中的表和使用uifigure函数。

控件创建的添加样式的配置uistyle函数,返回为n-by-3表数组。表数组的每一行都对应于当前应用于表UI组件的样式。连续添加的样式被赋予样式序号为n + 1.的目标而且TargetIndex列指定样式被添加到的表UI组件的部分。的风格列指定样式类名称。

类从表UI组件中删除样式,请使用此属性removeStyle函数。

示例:删除一个样式

首先,向表UI组件添加三种样式。

S1 = ustyle (“写成BackgroundColor”“黄色”);S2 = ustyle (“写成BackgroundColor”“红色”);S3 = ustyle (“FontColor”“b”“FontWeight”“大胆”);FIG = ufigure;fig.Position = [100 100 520 220];Uit =可使用(图);外的。数据= rand(5);外的。位置= [20 30 480 135];addStyle (s1,外的“行”,[1 2 4 5]);addStyle(外的,s2,“细胞”, (2 1;4 2;1 3;1 5]) addStyle(uit,s3,“列”2);

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

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

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

removeStyle(外的,2)

请注意

属性仅对应用程序设计器中的表和使用uifigure函数。

表选择,指定为正整数、正整数的向量或n-by-2正整数数组。使用此属性可编程地设置表选择,或查询应用程序用户已选择的表元素。类型的值的类型取决于SelectionType而且多选属性。

SelectionType 多选 金宝app支持的值 例子 结果
“行” “上” 正整数向量 [1 3 4 8]

选择具有相应行索引的所有行。

“关闭” 正整数 6

选择具有相应行索引的行。

“列” “上” 正整数向量 [2 5 7]

选择具有相应列索引的所有列。

“关闭” 正整数 2

选择具有相应列索引的列。

“细胞” “上” n-by-2正整数数组 [1 1;3 4;4 2]

选择具有相应行和列下标的所有单元格。

“关闭” 1乘2的正整数数组 (3 - 2)

选择具有相应行下标和列下标的单元格。

SelectionType“行”“列”而且多选“上”,您可以指定选择作为行向量或列向量。但是,值总是转换为行向量并存储为行向量。

请注意

属性仅对应用程序设计器中的表和使用uifigure函数。

表选择类型,指定为“细胞”“行”,或“列”.表选择类型指定了当用户与表交互时MATLAB选择哪些表元素。例如,如果SelectionType“行”app用户点击表格第二行的单元格,这就选择了整个第二行。

请注意

属性仅对应用程序设计器中的表和使用uifigure函数。

多重元素选择,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).值为“上”等于真正的,“关闭”等于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState

请注意

属性仅对应用程序设计器中的表和使用uifigure函数。在数字的应用程序,当应用程序用户选择表的不同元素时执行命令,使用CellSelectionCallback财产。

选择已更改的回调,指定为以下值之一:

  • 一个函数句柄。

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

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

当应用程序用户选择表的不同单元格、行或列时,使用此回调函数执行命令。

这个回调函数可以访问关于用户与表交互的特定信息,比如他们选择的元素。MATLAB将此信息传递到TableSelectionChangedData对象作为回调函数的第二个参数。在App Designer中,这个参数被称为事件.可以使用点表示法查询对象属性。例如,事件。选择ion返回选定的单元格、行或列索引。的TableSelectionChangedData对象对于指定为字符向量的回调函数不可用。

属性的属性说明如下TableSelectionChangedData对象。

财产

描述

选择

数组,包含用户在运行的应用程序中选择的元素的索引SelectionType“细胞”,这是一个n-by-2数组,包含用户所选单元格的行和列索引。如果SelectionType“行”“列”这是1 × -n包含用户所选行或列的索引的数组。对于表数组中的多列变量,列索引指的是整个列。

当一列被排序时,选择返回选择项在未排序表数据中的位置。要返回已排序的表中显示所选内容的位置,请使用DisplaySelection财产。

PreviousSelection

包含先前选定表数据的单元格、行或列索引的数组。

SelectionType

所选表元素的类型,表示为“细胞”“行”,或“列”

DisplaySelection

包含单元格、行或列索引的数组,与所选元素在已排序表中可视显示的位置相对应。如果用户没有对表进行排序,那么DisplaySelection选择

PreviousDisplaySelection

包含单元格、行或列索引的数组,这些索引与先前选定元素在排序表中可视显示的位置相对应。如果用户没有对表进行排序,那么PreviousDisplaySelectionPreviousSelection

组件执行回调。

EventName

“SelectionChanged”

有关编写回调函数的详细信息,请参见在应用程序设计器中编写回调

表执行SelectionChangedFcn当用户通过单击、使用方向键或使用这些键盘快捷键之一选择表元素时,调用回调函数。

连续选择选项:

  • 单击单元格并拖动。

  • 然后单击一个单元格Shift +点击另一个单元格选择中间的所有单元格。

  • 单击一个单元格,然后按Shift +箭头键用于添加连续的单元格。

  • 单击行或列标头以选择整个行或列。

  • 单击一个单元格,然后按Ctrl + Space以选择该列中的所有单元格(不管是否所有单元格都在视图中)。

  • 单击一个单元格,然后按Shift +空间选择该行中的所有单元格(不管是否所有单元格都在视图中)。

  • 选择行或列。然后Shift +点击另一个行或列标头用于选择其中的所有行或列。

  • 单击一个单元格,然后按Shift +向上翻页Shift +页面下以选择该单元格上方或下方的所有可见单元格。

  • 新闻Ctrl +一个以选择表中的所有单元格。

不连续的选择选项:

  • 选择一个或一组单元格。然后,Ctrl +单击选择不连续的单元格、行或列。

请注意

属性仅对应用程序设计器中的表和使用uifigure函数。

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

  • 一个函数句柄。

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

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

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

的用户交互信息,请使用此回调函数DisplayData改变。如果需要关于已编辑单元格的特定信息,请创建CellEditCallback代替。

这个回调函数可以访问有关列是否被排序或单元格是否被编辑的特定信息。MATLAB将此信息传递到DisplayDataChangedData对象作为回调函数的第二个参数。在App Designer中,这个参数被调用事件.可以使用点表示法查询对象属性。例如,事件。在teractionColumn返回在中与之交互的列的索引数据.的DisplayDataChangedData对象对于指定为字符向量的回调函数不可用。

财产 描述
DisplayRowName 单元格阵列RowName排序显示中的属性值。DisplayRowName将永远是原来的一种排列RowName财产。
DisplayColumnName 单元格阵列ColumnName排序显示中的属性值。DisplayColumnName将永远是原来的一种排列ColumnName财产。
交互 “排序”“编辑”
InteractionColumn 中的已修改列的索引数据
InteractionDisplayColumn 中的已修改列的索引DisplayData
InteractionVariable VariableNames属性用于表数组数据的已修改列。如果数据则包含表数组以外的数据类型InteractionVariable返回一个空字符数组。
DisplaySelection

包含单元格、行或列索引的数组,该索引对应于已排序表的显示中所选元素的位置。

PreviousDisplaySelection

包含单元格、行或列索引的数组,该索引对应于已排序表的显示中先前选定元素的位置。

组件执行回调。
EventName

“DisplayDataChanged”

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

请注意

属性仅对应用程序设计器中的表和使用uifigure函数。

布局选项,指定为GridLayoutOptions对象。此属性指定网格布局容器的子组件的选项。如果组件不是网格布局容器的子组件(例如,它是图形或面板的子组件),则此属性为空,没有作用。但是,如果组件是网格布局容器的子元素,则可以将组件放置在网格的所需行和列中而且属性GridLayoutOptions对象。

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

G = uigridlayout([4 3]);Uit = uitable(g,“数据”3),兰德(10);unit . layout . row = 3;unit . layout . column = 2;

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

unit . layout . column = [2 3];

数字仅限基于应用程序

全部展开

此属性是只读的。

请注意

属性创建的应用程序中的表才有效数字函数。

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

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

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

请注意

属性创建的应用程序中的表才有效数字函数。

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

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

请注意

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

兼容性的考虑

全部展开

不建议从R2020a开始

不建议从R2018b开始

不建议从R2014b开始

不建议从R2014b开始

在R2008a中引入