java脚本计算器按钮无反应_利用guide做加法计算器

cd11ca3caf2194d65d723ba675f60c74.png

在上期介绍完成界面后,大家对各个控件有了一个大概的认识,如何往深处学习,当然是结合实际例子来进行练习咯。

首先新建一个GUI界面,保存,命名为GUI01,可以发现会生成一个fig文件和m文件,其中这两个文件的名字都会是GUI01,当Matlab定位在包含这两个文件的文件夹路径下时,拖动其中的任何一个文件到Command Window中都会运行完成的界面图形,如果需要更改完善,右键fig文件,打开方式为GUIDE,就可在原来的基础上进行修改

b956f9ad830d2610554a59b89da7ddec.png

上回讲了一下界面的基本组成,那么这次就要介绍一下相应的m文件中包含的一些常用内容,在不添加任何控件的情况下,会有三个以GUI01为头的函数,分别对应GUI窗口界面,GUI打开时预处理函数,GUI界面的输出,一般这三个默认函数不要自行改动,最多就是在OpeningFcn函数中进行数据的预置。

2cff68466c30c19c8574f3f4bf9563e4.png

学过C语言的知道,通过类比,matlab中函数会包含形参(handles,eventdata等等)、使用函数包含数据的传输(setappdata,getappdata这些函数会在后讲到),在这三个函数中,当然也包含了形参,如下所示

6cdd303d481dcbbd0b9277c6d75537bd.png

GUI界面的好处是,在生成任何一个回调函数时,都会生成一个注释及该回调函数可能用到的形参,非常方便,而GUI界面开发主要用到的函数有set,get,setappdata,getappdata,传送参数有handles,eventdata后续使用中会发现其用的非常非常多

那么,作为控件的介绍,用实例说话才算,现在来进行Push Button、Edit Text、Static Text控件的介绍

加法计算器的设计

1.首先,往开发界面中拖入一个StaticText,双击该控件,调出其属性菜单,修改其FontSize属性值为14、ForegroundColor属性值选为红色、String属性值设置为请输入相加的两个数:

7e5cd2f5162a284c59a0126d11432d2b.png

在界面上,我们的提示也就出现了

f453f45f98e5f4a53a093df52b3e0245.png

2.再拖入两个Edit Text(右击控件拖动为复制控件),三个Static Text,一个PushButton按钮,调整一下画幅大小(GUI主界面的右下角黑点)如图所示

89d4f43d5e237e277bea985b68bc4691.png

3.设置(按照从左到右,从上往往下的顺序设置)

设置第一个Edit Text的Tag属性值为sum1,String属性值清空(回车为确认修改)

ba39b8dd02cd04087d15c9d29580b14e.png

设置第一个Static Text的String属性值为+,FontSize的属性值为14

be6e3313ed77ff6f1fa8c53d5c1cd678.png

设置第二个Edit Text的Tag属性值为sum2,String属性值清空

0075380f0406ff62d3ac5ae3d7b4c7c8.png

设置第二个Static Text的String属性值为=,FontSize的属性值为14

02676fb94ccfd9251541aaa93192f6dc.png

设置第三个Static Text的String属性值为空,Tag的属性值为sum_value

8ada9f32d4e4f97c79edf6b7ba89ec86.png

利用对齐工具对上述组件进行垂直对齐,选中这五个组件,选择垂直居中并应用

4184f92b7734e13fd54f357a23eecc32.png

4.设置按钮的属性设置其FontSize的属性值为14,String的属性值为计算,Tag的属性值为Add

67cae3178a6b47a57f9171c71162d073.png

到此,界面设计完毕

5.回调函数的编写,右击按钮--->viewCallbacks--->Callback

758e7fc98c7eaff15dfea4d2c8320f9f.png

会将编辑器打开,而且,其函数的开头是以按钮的Tag(Add)开头,其参数有hObject,eventdata,handles,在这个案例中,我们使用handles就可以

c1492aab4d74f7dfa6beebb381d514ae.png

在函数下面写入以下代码:

sum_value1

33de994d22eaf00e2054f87f4740a66d.png

代码讲解:

用get函数分别获得输入框中的文本内容,其中,对象由handles.Tag来唯一对应,sum1就是第一个编辑框的Tag,String为其输入框的一个属性,正好对应文本,但是,数学的运算只能是数字计算,所以出现str2num这个函数,不用的话计算结果会出错,是将字符串变成数字。对两个数值进行相加后,同理,num2str将数字转变成字符串,利用set函数送到第三个Static Text中,其Tag为sum_value。

运行(F5或点脚本运行按钮)以后在第一个框中输入数字,第二个框中输入数字,点击计算,会出现以下结果:其界面的名字与fig及m文件的名字一致

1d50f58b5eb807188cd9feec6ec5a04f.png

到此,脚本的组成,回调函数的添加,按钮控件Push Button与文本控件Edit Text及Static Text的应用就介绍完成

往期回顾:

  • Matlab操作之GUI(一)

若文章对你有所参考,记得点赞和小伙伴们分享,也可以关注本人微信公众号:维伟工程师哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值