matlabGUI笔记之-滑动条实现静态文本数值变化

因为自己DIY项目的时候一直想实现一个长按实现位置角度加减的功能,感觉【滑动条】控件比较适用,就学习了一下这个控件相关的应用,并做了个滑动条实现静态文本数值变化的demo作为笔记保存。

1. GUI控件

在命令行窗口输入:guide,选择默认的空白模板【Blank GUI(Default)】,按【确定】按钮,新建一个GUI工程

从左侧控件工具栏,找到滑动条控件和静态文本框控件拖动至空白处,调整好大小和布局。界面工程就准备完毕,按【Ctrl】+ 【s】键保存工程。

2. 属性设置 ## 2.1 静态文本框属性设置 双击静态文本框控件,打开属性管理器,找到【Sring】属性,把值修改为0;找到【FrontSize】属性,把值修改为24。

2.2 滑动条属性设置

滑动条主要属性含义列表

属性 含义
BackgroundColor 滑动条的背景颜色设置
BusyAction 处理中断回调的执行属性【queue】--在运行的回调完成执行后,将中断的回调放入队列中进行处理。【cancel--不执行中断回调。
handlevisibility 用于设置控件的句柄可访问性可以取三个值:【on】:所有模块均可访问,该控件的句柄,不仅gui的回调函数可访问,非gui(matlab非gui模块的函数、用户自动函数)均可访问。【callback】:该控件只有gui的回调函数可以访问。【off】:该控件不可访问。
SliderStep 步长属性:有两个值可设置0.01 0.1 :一个是小步长,是点击slider两端的箭头移动的步长;一个是大步长,是点击slider时移动的步长
Min 控件的最小值,指定为数字。滑动条起点对应的Value值。
Max 控件的最大值,指定为数字。滑动条滑至最终点对应的Value值。
Callback 回调函数属性
Tag 本控件的标识符。代码中通过该标识符访问本控件。
Units 测量单位。

一般情况下我们关注标红三个属性的设置即可,这里我们设计当滑动条从头滑到结束时,文本框中的数据从0变化值100;因此此处双击滑动条控件,打开属性管理器,找到【SliderStep】属性,把大小步长都设置为0.01,0.01;找到【Min】属性,把值修改为0; 找到【Max】属性,把值修改为100。

3. 回调函数

此处双击滑动条控件,打开属性管理器,找到【Callback】属性,点击图示编辑按钮


进入代码编辑页面,添加如下代码

bash 复制代码
% --- Executes on slider movement.
function slider1_Callback(hObject, eventdata, handles)
% hObject    handle to slider1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
 
% Hints: get(hObject,'Value') returns position of slider
%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
% 获取滑动条的值
value = get(handles.slider1,'Value');
% 设置到静态文本框中
set(handles.text1,'String',num2str(value));

4. 结果

点击运行,效果如下

相关推荐
星夜离尘5610 小时前
MATLAB 离散数据分箱:半开区间、末端点与计数、加权和、平均
算法·matlab
Evand J2 天前
【MATLAB例程介绍】(17)永磁同步电机(PMSM)基于自适应无迹卡尔曼滤波(AUKF)的电流噪声在线估计。测量噪声协方差自适应与转速估计对比仿真
开发语言·matlab·卡尔曼滤波·无迹卡尔曼滤波·pmsm·电机滤波
严肃小白兔3 天前
MATLAB 绘图与科研论文插图制作:图形设计、统计表达与矢量导出
开发语言·matlab·科研绘图
严肃小白兔5 天前
MATLAB 数值计算中的精度与误差问题:浮点运算、误差传播与数值稳定性
人工智能·算法·matlab
Evand J6 天前
【PMSM例程】(14)永磁同步电机无迹卡尔曼滤波(UKF)定子电阻在线辨识与补偿。电阻变化跟踪及预测误差对比仿真。附完整代码的下载链接
matlab·电机·滤波·卡尔曼滤波·永磁同步电机·无迹卡尔曼滤波·pmsm
爱喝雪碧的可乐6 天前
MATLAB
开发语言·算法·matlab
严肃小白兔6 天前
MATLAB 优秀开源项目与工具箱推荐:涵盖通信、图像处理、脑机接口等九大领域
图像处理·matlab·信息与通信·开源项目
Evand J8 天前
【MATLAB例程12】永磁同步电机基于增广无迹卡尔曼滤波的未知负载转矩在线观测
开发语言·matlab
分享资料8 天前
MATLAB 中分号 (;)的作用
matlab
Evand J9 天前
【PMSM例程11】永磁同步电机(PMSM)基于UKF的转速与转子位置估计。附下载链接
算法·matlab·卡尔曼滤波·永磁同步电机·ukf·pmsm·位置估计