主要内容

微调控制项属性

控制旋转器外观和行为

微调器是用于从有限集中选择数值的UI组件。属性控制微调器的外观和行为。使用点符号来引用特定的对象和属性。

无花果= uifigure;s = uispinner(图);s.Value = 20;

价值

全部展开

旋转器值,指定为数值。

当应用程序用户在微调器中键入一个值时,该值是一个字符向量。当应用程序用户按输入键或改变焦点,MATLAB®将应用程序用户输入的值转换为双精度数字。

MATLAB在以下情况下拒绝该值:

  • 它不能将字符向量转换为标量数。

  • 取值为NaN、空白或复数。

  • 该值是一个数学表达式,例如1 + 2

  • 属性指定的值小于或大于限制财产。

当MATLAB拒绝应用程序用户输入的值时,会出现一个描述值需求的工具提示。旋转器立即恢复到以前的值ValueChangedFcn运行。

例子:10

数据类型:

最小和最大微调值,指定为一个双元素数字数组。第一个值必须小于第二个值。将数组元素设置为-inf.分别指定无最小值或无最大值。

如果你改变限制这样价值属性超出了新的限制,MATLAB设置价值属性设置为新限制内的值。例如,假设限制属性是100年[0]价值房地产是20。如果限制属性改变[100],然后用MATLAB设置价值属性为50(假设LowerLimitInclusive值是“上”

例子:(从200年)

例子:[-100正]

例子:(-100 200)

数据类型:

数量价值当App用户按向上和向下箭头时,属性递增或减少。

应用程序用户输入的小数的四舍五入,指定为“上”“关闭”,或数字或逻辑1真正的)或0.).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • “上”-如果结果是一个有效值,MATLAB将其舍入并执行ValueChangedFcn回调。如果结果值超出下限或上限限制,然后MATLAB四舍五入到最接近的值限制然后执行回调。

  • “关闭”- MATLAB不会将一个小数值四舍五入到一个整数。

如果RoundFractionalValues属性值从“关闭”“上”然后MATLAB应用这些规则:

  • 方法指定的限制范围内,如果对现有值进行舍入得到一个整数限制属性,然后MATLAB对已有值进行四舍五入。

  • 如果舍入现有值会产生小于下限的整数,则Matlab舍入现有值。

  • 如果舍入现有值会产生大于上限的整数,则Matlab舍入现有值。

  • 如果限制被配置为使得范围内没有有效整数,则Matlab设置RoundFractionalValues属性值返回“关闭”并显示错误消息。

值显示格式,指定为字符向量或字符串标量。

MATLAB使用Sprintf.使用指定的格式显示值。

可以将文本与格式操作符混合使用。例如:

旋转= uispinner (“ValueDisplayFormat”' %。0.f MS/s');

生成的旋转器组件如下所示:

当应用程序用户单击微调栏时,该栏显示不含文本的值。

有关支持的格式操作符的完整列表,请参见万博1manbetxSprintf.

下限包容性,指定为“上”“关闭”,或数字或逻辑1真正的)或0.).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • “上”—取值必须大于等于下限。

  • “关闭”—取值必须大于下限阈值。

上限包容度,指定为“上”“关闭”,或数字或逻辑1真正的)或0.).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

  • “上”- 值必须等于或小于上限。

  • “关闭”—取值必须小于上限。

例如,如果你想要输入的数字在0和1之间(不包括0和1),请执行以下所有操作:

  • 设置限制属性值对[0 1]

  • 设置UpperLimitInclusive财产“关闭”

  • 设置LowerLimitInclusive财产“关闭”

字体和颜色

全部展开

字体名称,指定为系统支持的字体名称。万博1manbetx默认字体取决于特定的操作系统和地区。

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

例子:“天线”

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

例子:14

字体大小,指定为以下值之一:

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

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

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

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

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

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

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

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

或者,您可以通过名称指定一些常见的颜色。该表列出了已命名的颜色选项、等价的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) “#就”

彩色洋红色的样本

“黄色” “y” [1 1 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三联体和十六进制颜色代码在指定自定义颜色时很有用。

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

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

或者,您可以通过名称指定一些常见的颜色。该表列出了已命名的颜色选项、等价的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) “#就”

彩色洋红色的样本

“黄色” “y” [1 1 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],呈暗红色

交互性

全部展开

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

  • “上”—显示对象。

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

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

旋转器的可编辑性,指定为“上”“关闭”,或数字或逻辑1真正的)或0.).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

将此属性与启用属性值来确定组件是否以及如何响应应用程序用户输入:

  • 要使微调器可编辑,箭头按钮可操作,关联的回调可触发,请设置启用财产和可编辑的属性值“上”

  • 要使微调器不可编辑,但箭头按钮可操作,请设置可编辑的财产“关闭”启用财产“上”

  • 要使微调器不可编辑且箭头按钮不可操作,请设置可编辑的财产“关闭”启用财产“关闭”

旋转器的操作状态,指定为“上”“关闭”,或数字或逻辑1真正的)或0.).的值“上”相当于真正的,“关闭”相当于.因此,可以将此属性的值用作逻辑值。该值存储为开启/关闭类型的逻辑值matlab.lang.OnOffSwitchState

将此属性与可编辑的属性值来确定组件是否以及如何响应应用程序用户输入:

  • 要使微调器可编辑,箭头按钮可操作,关联的回调可触发,请设置启用财产和可编辑的属性值“上”

  • 要使微调器不可编辑,但箭头按钮可操作,请设置可编辑的财产“关闭”启用财产“上”

  • 要使微调器不可编辑且箭头按钮不可操作,请设置可编辑的财产“关闭”启用财产“关闭”

工具提示,指定为字符向量,字符向量,字符串数组或1-D分类阵列的单元格数组。使用此属性在运行时在组件上筛选指针时显示消息。即使禁用组件,工具提示也会显示。要显示多行文本,请指定字符向量或字符串数​​组的单元格数组。阵列中的每个元素都成为单独的文本行。如果将此属性指定为分类阵列,则Matlab使用数组中的值,而不是完整的类别。

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

位置

全部展开

旋转器相对于父容器的位置和大小,指定为向量[左下角宽度高度].此表描述了向量中的每个元素。

元素 描述
剩下 从父容器的内左边缘到旋转器的外左边缘的距离
从母容器的内底边到旋转器的外底边的距离
宽度 旋转器的左右外边缘之间的距离
高度 旋转器的顶部和底部外边缘之间的距离

所有测量均以像素为单位。

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

例子:[100 100 100 22]

旋转器的内部位置和尺寸,规定为[左下角宽度高度].位置值相对于父容器。所有的测量都以像素为单位。该属性值与位置财产。

此属性是只读的。

旋转器的外部位置和大小,返回为[左下角宽度高度].位置值相对于父容器。所有的测量都以像素为单位。该属性值与位置财产。

旋转器内的数字水平对齐,指定为:

  • “对”- 数字在旋转器的右侧对齐。

  • “左”-旋转器左侧的数字对齐。

  • “中心”-数字对齐在旋转中心。

布局选项,指定为GridLayoutOptions目的。此属性指定网格布局容器的子组件的选项。如果组件不是网格布局容器的子节点(例如,它是图形或面板的子项),则此属性为空,没有效果。但是,如果组件是网格布局容器的子组,则可以通过设置组件将组件放置在所需行和网格列中物业在GridLayoutOptions目的。

例如,此代码将旋转器放在其父网格的第三行和第二列中。

G = uigridlayout([4 3]);s = uispinner (g);s.Layout.Row = 3;s.Layout.Column = 2;

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

s.Layout.Column = [2 3];

回调

全部展开

Value changed callback,指定为以下值之一:

  • 一个处理函数。

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

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

当用户更改焦点或按下输入键。无论用户是通过键入还是按下方向键来更改微调器的值,都没有关系。如果微调器值以编程方式更改,则回调不会执行。

这个回调函数可以访问有关用户与微调器交互的特定信息。MATLAB将这个信息传递到ValueChangedData对象作为回调函数的第二个参数。在App Designer中,调用该参数事件.您可以使用点表示法查询对象属性。例如,事件。PreviousValue返回微调器的前一个值。这ValueChangedData对象不可用于指定为字符向量的回调函数。

下表列出了属性ValueChangedData目的。

财产 价值
价值 在应用程序用户最近与spinner进行交互后的值
PreviousValue Spinner的价值在App用户最近与它交互之前
执行回调的组件
EventName “ValueChanged”

有关编写回调的更多信息,请参阅在App Designer中写回调

值改变回调,指定为以下值之一:

  • 一个处理函数。

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

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

此回调函数随着用户单击并保存旋转器上的向上或向下箭头执行。它不执行价值通过编程方式属性更改。

这个回调函数可以访问有关用户与微调器交互的特定信息。MATLAB将这个信息传递到ValueChangingData对象作为回调函数的第二个参数。在App Designer中,调用该参数事件.您可以使用点表示法查询对象属性。例如,事件。价值返回微调器的当前值。这ValueChangingData对象不可用于指定为字符向量的回调函数。

下表列出了属性ValueChangingData目的。

财产 价值
价值 当应用程序用户与微调器交互时,微调器的当前值
执行回调的组件
EventName “ValueChanging”

价值财产的微调控制项在应用程序用户释放箭头键之前不会更新。因此,要在按下箭头键时获取值,您的代码必须获取价值财产的ValueChangingData目的。

回调函数执行如下:

  • 如果应用程序用户单击旋转器向上或向下箭头,则回调将执行一次。例如,假设spinner值为2,并且一步值是1。如果应用程序用户单击向上箭头,则执行回调。

  • 如果App用户按下并按住Spinner向上或向下箭头,则回调反复执行。例如,如果应用程序用户单击并保存向上箭头,则回调在App用户释放UP箭头之前执行多次。

有关编写回调的更多信息,请参阅在App Designer中写回调

对象创建函数,指定为以下值之一:

  • 函数处理。

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

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

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在App Designer中写回调

此属性指定MATLAB创建对象时执行的回调函数。方法之前,MATLAB初始化所有属性值CreateFcn回调。如果您没有指定CreateFcn属性,然后MATLAB执行一个默认创建函数。

设置CreateFcn属性对现有组件没有影响。

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

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

  • 函数处理。

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

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

有关将回调指定为函数句柄、单元格数组或字符向量的详细信息,请参见在App Designer中写回调

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

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

回调执行控制

全部展开

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

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

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

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

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

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

如果正在运行的回调函数确实包含这些命令之一,则可中断拥有正在运行的回调的对象的属性决定中断是否发生:

  • 如果可中断“关闭”,则不发生中断。相反,忙碌拥有中断回调的对象的属性确定中断回调是否被丢弃或添加到回调队列中。

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

笔记

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

  • 如果中断回调为DeleteFcnCloseRequestFcn,或SizeChangedFcn回调,则中断发生不管可中断属性值。

  • 如果正在运行的回调函数正在执行等待函数,则不管可中断属性值。

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

笔记

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

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

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

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

忙碌属性仅在满足这两个条件时确定回调排队行为:

在这些条件下,忙碌属性决定了MATLAB如何处理中断回调。这些是可能的值忙碌属性:

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

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

此属性是只读的。

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

Matlab套装BeingDeleted财产“上”DeleteFcn回调函数开始执行。这BeingDeleted属性仍然设置为“上”直到组件对象不再存在。

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

父/子

全部展开

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

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

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

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

身份标识

全部展开

此属性是只读的。

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

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

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

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

另请参阅

职能

在R2016A介绍