主要内容

Uispinner.

创建旋转器组件

描述

SPN.= Uispinner.在新的数字窗口中创建一个微调器并返回旋转器对象。MATLAB®打电话给Uifigure.函数创建图形。

例子

SPN.= uispinner (在指定的父容器中创建微调器。父结点可以是数字使用这一创建Uifigure.函数或其子容器之一。

例子

SPN.= uispinner (___名称,价值指定旋转器属性使用一个或多个名称,价值对参数。将此选项与前面语法中的任何输入参数组合一起使用。

例子

全部收缩

无花果= uifigure;spn = uispinner(图);

在面板中创建旋转器。

无花果= uifigure;pnl = uipanel(图);spn = uispinner (pnl);

创建一个微调器,将应用程序用户可以输入的值限制在0到100之间(包括0到100)。

创建一个转轮。

无花果= uifigure;spn = uispinner(图);

确定限制。返回值表明较低和上限是无限的。

limits = spn.limits.
limits = -inf inf

将限制设置为0和100。

spn.limits = [0 100];

创建一个转轮,允许应用程序用户输入一个大于-5且小于等于10的值。

无花果= uifigure;spn = uispinner(图,'限制', 10 [5],...'lowermitinclusive'“关闭”...“UpperLimitInclusive”“上”...“价值”5);

运行代码。如果您在微调器中输入超出限制的值,MATLAB会自动显示一条消息来指示问题。MATLAB然后将值恢复到之前的有效值。

创建一个旋转器,允许应用程序用户输入任何值,但始终使用两个小数显示该值。请注意,MATLAB存储应用程序用户进入的确切值。

无花果= uifigure;spn = uispinner(图,“ValueDisplayFormat”“% .2f”);

运行代码,然后在旋转器中输入5.555。单击旋转器外部。旋转器显示器5.55。

Matlab存储原始值5.555。

单击微调器,它将显示最初输入的值。

创建一个旋转器和一个滑块。当应用程序用户更改微调器值时,滑块会更新以匹配该值。

保存以下代码Spinnervalue.m.在MATLAB路径上。此代码创建一个包含滑块和微调器的图形窗口。当应用程序用户更改微调器值时,valuechangedfcn.更新旋转器以反映滑块值。

功能图= ui图形(“位置”,[100 100 370 280]);sld = uislider(图,...“位置”,[90 220 120 3]);spn = uispinner(图,...“位置”,[100 140 100 22],...'限制'道防线。限制,...'valuechangedfcn'@ (spn)、事件)updateSlider (spn), sld));结束%create valuechangedfcn回调功能updateSlider sld (spn), sld)。值= spn.Value;结束

运行spinnerValue

单击并按住微调器中的向上箭头,直到数值达到24,然后释放。滑块拇指移动以指示旋转器的值。

创建一个旋转器和一个滑块。当应用程序用户更改微调器值时,滑块会重复更新以匹配该值。

保存以下代码showChangingValue.m在MATLAB路径上。此代码创建一个包含滑块和微调器的图形窗口。当应用程序用户更改微调值时,valuechangingfcn.重复更新滑块以在变化时反映旋转器值。

功能showChangingValue图= ui图(“位置”,[100 100 370 280]);sld = uislider(图,...“位置”,[90 220 120 3]);spn = uispinner(图,...“位置”,[100 140 100 22],...'限制'道防线。限制,...“ValueChangingFcn”@ (spn)、事件)spinnerChanging(事件,sld));结束%创建ValueChangingFcn回调功能SpinnerChanging(事件,SLD)SLD.Value = Event.Value;结束

运行ShowChangingValue.

单击,并在旋转器中按住向上箭头,直到数值达到24,然后释放。滑块随着旋转器值的改变而移动。

代码valuechangedfcn.回调以确定值是否正在上升或下降与先前的旋转器值。当值越来越多,当值递减时,将灯泡设置为绿色

保存以下代码upOrDown.m在MATLAB路径上。

功能upOrDown图= uiffigure (...“位置”,[100 100 190 170]);lmp = uilamp(图,...“位置”,[90 50 20 20],...“颜色”'绿色');spn = uispinner(图,...“位置”,[50 100 100 22],...'valuechangedfcn',@(spn,事件)spinnervaluechanged(事件,lmp));结束%创建使用事件数据的ValueChangedFCN功能spinnerValueChanged(event,lmp) newValue = event. value;previousValue = event.PreviousValue;差异= newValue-previousValue;如果差> 0 lmp。颜色='绿色'别的lmp.color =.“红色”结束结束

运行upOrDown

每次更改旋转器值时,valuechangedfcn.确定该值是增加还是减少,并相应地设置灯的颜色。

输入参数

全部收缩

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

名称-值参数

指定可选的逗号分隔的对名称,价值参数。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“价值”,150年指定数字50出现在微调器中。

此处列出的属性是可用属性的子集。对于完整列表,请参阅微调控制项属性

微调值,指定为数值。

当App用户键入旋转器中的值时,该值是字符向量。当App用户按下输入键或更改焦点,MATLAB将应用程序用户输入的值转换为双重精度。

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

  • 它无法将字符向量转换为标量数。

  • 值为NaN,空白或复数。

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

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

当MATLAB拒绝应用程序用户输入的值时,将出现一个工具提示,描述了值要求。旋转器立即恢复到其先前的价值,否valuechangedfcn.运行。

例子:10.

数据类型:

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

matlab使用sprintf使用指定的格式显示值。

您可以使用格式运算符混合文本。例如:

Spin = Uispinner(“ValueDisplayFormat”'%.0f ms / s');

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

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

有关支持的格式运算符的完整列表,请参阅金宝appsprintf

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

  • “上”- 如果它导致有效值并执行该值,则MATLAB舍入valuechangedfcn.回调。如果结果值超出下限或上限限制,然后MATLAB四舍五入到最接近的值限制然后执行回调。

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

如果是圆形逆转值属性值从“关闭”“上”然后MATLAB应用这些规则:

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

  • 如果对现有值进行四舍五入得到一个小于下限的整数,则MATLAB将对现有值进行四舍五入。

  • 如果将现有值舍入产生一个大于上限的整数,则MATLAB将现有值舍入。

  • 如果限制配置为在范围内没有有效整数,则MATLAB设置圆形逆转值属性值返回“关闭”并显示错误消息。

数量价值当应用程序用户分别按下向上和向下箭头时,属性会增加或减少。

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

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

例子:(从200年)

例子:[-100 inf]

例子:[-100 200]

数据类型:

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

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

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

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

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

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

例如,如果您希望数字输入介于0到1之间,请不要排除0和1,执行以下所有内容:

值更改回调,指定为其中一个值:

  • 功能手柄。

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

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

当用户更改焦点或按下输入更改旋转器值后键。不要紧,用户是否通过键入或按箭头键改变微调值。如果旋转器值以编程方式更改,则回调不会执行。

此回调函数可以访问有关用户与微调器交互的特定信息。matlab通过此信息ValueChangedData对象作为回调函数的第二个参数。在App Designer中,参数被调用事件.可以使用点表示法查询对象属性。例如,事件。PreviousValue返回旋转器的先前值。的ValueChangedData指定为字符向量的回调函数不可用对象。

控件的属性如下表所示ValueChangedData对象。

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

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

更改回调值,指定为其中一个值:

  • 功能手柄。

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

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

当用户单击并按住微调器上的向上或向下箭头时,将执行此回调函数。它不执行,如果价值通过编程方式属性更改。

此回调函数可以访问有关用户与微调器交互的特定信息。matlab通过此信息ValueChangingData对象作为回调函数的第二个参数。在App Designer中,参数被调用事件.可以使用点表示法查询对象属性。例如,event.value.返回旋转器的当前值。的ValueChangingData指定为字符向量的回调函数不可用对象。

控件的属性如下表所示ValueChangingData对象。

财产 价值
价值 当应用程序用户与微调器交互时,微调器的当前值
执行回调的组件
eventName. 'valuechanging'

价值财产的旋转器在应用程序用户释放箭头键之前不会更新。因此,要在按下箭头键时获取值,您的代码必须获取价值财产的ValueChangingData对象。

回调函数执行如下:

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

  • 如果应用程序用户按下并保持旋转器向上或向下箭头,则回调会重复执行。例如,如果应用程序用户点击并保持上箭头,回调将执行多次,直到应用程序用户释放上箭头。

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

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

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

所有的测量都以像素为单位。

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

例子:[100 100 100 22]

另请参阅

功能

属性

介绍了R2016a