uislider
创建滑块或范围滑块组件
语法
说明
在新图窗窗口中创建一个标准滑块,并返回 sld
= uisliderSlider
对象。MATLAB® 调用 uifigure
函数来创建该图窗。
创建指定样式的滑块。将 sld
= uislider(style
)style
指定为 "range"
以创建范围滑块,而不是标准滑块。
使用一个或多个名称-值参量指定 sld
= uislider(___,Name,Value
)Slider
属性,以及之前语法中的任何输入参量组合。例如,uislider("Value",50)
创建一个值为 50 的滑块。
示例
创建滑块
创建范围滑块
创建垂直滑块
设置和访问滑块属性
在 UI 图窗中创建一个滑块。将滑块值设置为 50。
fig = uifigure;
sld = uislider(fig,"Value",50);
确定当前滑块控件的范围。
limits = sld.Limits
limits = 1×2
0 100
更改滑块控件的范围,将值设置为 35。
sld.Limits = [-50 50]; sld.Value = 35;
配置滑块刻度线
在 UI 图窗中创建一个滑块。
fig = uifigure; sld = uislider(fig);
自定义滑块外观。更新范围和主刻度以对应以华氏度为单位的温度,并删除次刻度。
sld.Limits = [32 212];
sld.MajorTicks = [32 100 150 212];
sld.MajorTickLabels = sld.MajorTicks + "°F";
sld.MinorTicks = [];
编写响应以下操作的代码:移动滑块
创建一个具有滑块和仪表的 App。当 App 用户移动滑块并释放鼠标按键时,仪表的指针将更新以反映滑块值。
在名为 sliderApp.m
的文件中,编写实现该 App 的函数:
创建一个 UI 图窗和一个网格布局管理器,以对该 App 进行布局。
在网格布局管理器中创建一个仪表和一个滑块。
编写名为
updateGauge
的回调函数,该函数可更改仪表值以匹配滑块值,并将该函数赋给滑块的ValueChangedFcn
回调属性。有关回调的详细信息,请参阅Create Callbacks for Apps Created Programmatically。
function sliderApp fig = uifigure("Position",[100 100 300 250]); g = uigridlayout(fig); g.RowHeight = {'1x','fit'}; g.ColumnWidth = {'1x','fit','1x'}; cg = uigauge(g); cg.Layout.Row = 1; cg.Layout.Column = [1 3]; sld = uislider(g, ... "ValueChangedFcn",@(src,event)updateGauge(src,event,cg)); sld.Layout.Row = 2; sld.Layout.Column = 2; end function updateGauge(src,event,cg) cg.Value = event.Value; end
运行 sliderApp
函数并移动滑块。释放滑块时,仪表的值会更新。
sliderApp
编写响应以下操作的代码:移动滑块
创建一个具有绘图和范围滑块的 App。当 App 用户移动任一滑块时,绘图的着色区域会更新以反映范围滑块值。
在名为 rangeSliderApp.m
的文件中,编写实现该 App 的函数:
创建一个 UI 图窗和一个网格布局管理器,以对该 App 进行布局。
在网格布局管理器中创建 UI 坐标区和一个范围滑块。在 UI 坐标区中绘制一些数据,并创建一个填充区域来突出显示部分数据。
编写一个名为
updateRange
的回调函数,该函数更新填充区域的范围以匹配范围滑块值,并将该函数赋给范围滑块的ValueChangingFcn
回调属性。有关回调的详细信息,请参阅Create Callbacks for Apps Created Programmatically。
function rangeSliderApp fig = uifigure; g = uigridlayout(fig); g.RowHeight = {'1x','fit'}; g.ColumnWidth = {'1x'}; ax = uiaxes(g); plot(ax,peaks); xr = xregion(ax,10,35); sld = uislider(g,"range", ... "Limits",[0 50], ... "Value",[10 35]); sld.ValueChangingFcn = @(src,event) updateRange(src,event,xr); end function updateRange(src,event,xr) val = event.Value; xr.Value = val; end
运行 rangeSliderApp
函数并移动滑块。拖动任一滑块时,坐标区中的填充区域会更新。
输入参数
style
— 滑块的样式
"slider"
(默认) | "range"
滑块的样式,指定为以下值之一:
"slider"
- 标准滑块,通过一个滑块指定值"range"
- 范围滑块,通过两个滑块指定值的范围
parent
— 父容器
Figure
对象 (默认) | Tab
对象 | Panel
对象 | ButtonGroup
对象 | GridLayout
对象
父容器,指定为使用 uifigure
函数创建的 Figure
对象或其子容器之一:Tab
、Panel
、ButtonGroup
或 GridLayout
。如果不指定父容器,MATLAB 会调用 uifigure
函数创建新 Figure
对象充当父容器。
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
示例: uislider(Limits=[0 50])
将滑块最小值指定为 0
,将滑块最大值指定为 50
。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: uislider("Limits",[0 50])
将滑块最小值指定为 0
,将滑块最大值指定为 50
。
每个样式的滑块都支持一组不同属性。有关每种样式的属性和描述的完整列表,请参阅相关联的属性页。
如果
style
为默认值"slider"
,请参阅Slider
。如果
style
为"range"
,请参阅RangeSlider
。
版本历史记录
在 R2016a 中推出R2024a: 指定范围滑块步长值
创建范围滑块组件时,可以通过使用 Step
属性来指定当用户与滑块交互时该值的变化量。
R2023b: 创建滑块以指定值的范围
通过将 style
指定为 "range"
来创建一个范围滑块。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)