主要内容

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(图);

确定的极限。返回值表明下限和上限是无限的。

限制= spn。限制
limits = -Inf

将限制设置为0和100。

spn。limit = [0 100];

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

无花果= uifigure;spn = uispinner(图,“限制”, 10 [5],...“LowerLimitInclusive”,“关闭”,...“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));结束%创建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奉养。值= 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。颜色=“红色”结束结束

运行upOrDown

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

输入参数

全部折叠

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

名称-值对的观点

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

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

这里列出的属性是可用属性的子集。有关完整列表,请参见微调控制项属性

微调值,指定为双精度数字。

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

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

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

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

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

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

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

例子:10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

例子:(从200年)

例子:[-100正]

例子:(-100 200)

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

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

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

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

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

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

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

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

  • 设置UpperLimitInclusive财产“关闭”

  • 设置LowerLimitInclusive财产“关闭”

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

  • 一个处理函数。

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

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

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

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

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

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

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

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

  • 一个处理函数。

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

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

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

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

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

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

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

回调函数执行如下:

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

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

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

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

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

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

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

例子:[100 100 100 22]

另请参阅

功能

属性

介绍了R2016a