🥲该说不说还要说的前言
前情提要:虽然我是学后端的,然后专业是生物信息学,但谁知道我计算机设计大赛进了硬件组,互联网+又进了生工的团队呢,我们的作品三月底就要提交了,现在已经火烧pp,所以完整得开发一套web项目是已经来不及了,还要考虑到学姐用的肌电信号测量分析的软件是matlab,有一连串的兼容和接口问题,所以临时决定先直接用matlab开发app,然后再去想那些有得没得.
所以本人在这周开始从零学习appdesigner,这两天因为个人情绪问题耽搁了许多,敲代码看教程都集中不了注意力,但现在已经快来不及了,想着重新捡起以前的老路子,用写博客的方式来分享自己的学习经验,方便自己以后查阅和复习,也给大家提供一个良好的学习机会.
🐼appdesigner简介
有个毛线简介,它就是一开发app的,哥直接pass
噢等一下,补一句,它这个是2016a之后的版本才有的,之前是叫GUIDE,这点要注意
🤯启动appdesigner
很简单,直接在命令行输入appdesigner
appdesigner
然后就会冒出来这么一个界面
我们可以看到左边是一些组件,右上是你添加的组件信息,右下是你选中的组件的一些属性,可以直接通过鼠标点击进行修改,(避免写大量代码,啊哈,我喜欢)
🦚项目一:简单计算器
首先我们拖动组件到右边的设计视图中
我们就选择这个panel(面板)作为地基
然后双击修改面板名称,或者在右下角的属性栏目中直接修改也可以
我们调整一下各个属性值
得到这样的面板
然后我们再挪动一个面板过来
我们再搭建一个初始框架
然后我们来编辑回调代码
我们点击左下角的布局中的结果数值板,然后定位一下,可以发现右上角的组件浏览器已经锁定
app.EditField3.Value = app.EditField.Value + app.EditField_2.Value;
同理我们把其他三个按钮的回响也设置一遍,这样就OK了,试着运行一下,
OK没什么问题,下一个
🐷项目二:传感器
同样我们先搭建框架,首先拖一个面板过来,改一下标题
然后我们拖动一个数值框过来
然后再拖过来一个灯lamp和label标签
记得把lamp的旁边多余的文本框删掉
我们的初步构想是,通过数值框内的值的改变,灯的颜色也随之改变
那么我们接下来就设置一下文本框内的回响
value = app.EditField.Value;
%0 Not Active
%1 Active
%2 Error
%other State Unknown
switch value
case 0
app.Lamp.Color = [0.90,0.90,0.90];%颜色
app.NotActiveLabel.Text = 'Not Active';%灯旁边我们设置的文本框的文本
case 1
app.Lamp.Color = [0 1 0];
app.NotActiveLabel.Text = 'Active';
case 2
app.Lamp.Color = [1 0 0];
app.NotActiveLabel.Text = 'Error!';
otherwise
app.Lamp.Color = [0 0 0];
app.NotActiveLabel.Text = 'State Unknown!';
end
效果OK,记得按回车哦
下一个
🐮项目三:Knob旋钮
老样子,先搭框架
下面的左边是数值框,右边是文本框
我们这里要实现的功能就是,用鼠标拖动Knob,从而下面的信息框也发生变化
先添加回调
changingValue = event.Value;
app.EditField.Value = changingValue;
👆这是左边的
value = app.Knob2.Value;
if strcmp(value,'Off')
app.EditField_2.Value = 'Off';
elseif strcmp(value,'Low')
app.EditField_2.Value = 'Low';
elseif strcmp(value,'Medium')
app.EditField_2.Value = 'Medium';
else
app.EditField_2.Value = 'High';
end
这是右边的Knob的回调
这里要记得文件名不能和组件的名字完全相同,否则会报错
这里关于matlab中appdesigner的ValueChangedFcn & ValueChangingFcn有什么区别
我也有在上一篇博客中总结过.
简单的操作应该都差不多明白了,有问题或者错误请在评论区指出
希望能帮到你