MATLAB GUI入门实例详解,让你轻松掌握GUI

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Matlab实例讲解本文档通过一个简单的实例让你学会matlabGUI的制作流程。首先,图形用户界面GUI(GraphicalUserInterfaces)是一种用户和计算机进行信息交流的工具和方法,由各种图形对象组成。在这种用户界面下,用户的命令和对程序的控制是通过鼠标等输入设备“选择”各种图形对象来实现的。开发者只需在由软件开发工具自动生成的程序代码中添加自己的运算或控制代码,就可以完成应用程序的设计。例建立加法计算器程序步骤:1.新建一个GUI文件:选择BlankGUI(Default)2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示;(+=数据1绿色显示框等都是静态文本框)布置好各控件以后,就可以来为这些控件编写程序来实现两数相加的功能了。3.为数据1文本框添加代码点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。functionedit1_Callback(hObject,eventdata,handles)%hObjecthandletoedit1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:get(hObject,’String’)returnscontentsofedit1astext%str2double(get(hObject,’String’))returnscontentsofedit1asadouble然后在上面这段代码的下面插入如下代码:%以字符串的形式来存储数据文本框1的内容.如果字符串不是数字,则现实空白内容input=str2num(get(hObject,’String’));%检查输入是否为空.如果为空,则默认显示为0if(isempty(input))set(hObject,’String’,’0’)endguidata(hObject,handles);这段代码使得输入被严格限制,我们不能试图输入一个非数字。4.为edit2_Callback添加同样一段代码5.为计算按钮添加代码来实现把数据1和数据2相加的目的。用3中同样的方法在m文件中找到pushbutton1_Callback代码段如下;functionpushbutton1_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)在上面这段代码后添加以下代码;a=get(handles.edit1,’String‘);b=get(handles.edit2,’String‘);%aandbarevariablesofStringstype,andneedtobeconverted%tovariablesofNumbertypebeforetheycanbeaddedtogethertotal=str2num(a)+str2num(b);c=num2str(total);%needtoconverttheanswerbackintoStringtypetodisplayitset(handles.text1,’String’,c);%text1为静态文本框(最后绿色显示结果的框)的tagguidata(hObject,handles);程序分析:a=get(handles.edit1,’String‘);b=get(handles.edit2,’String‘);上面这行代码把用户输入的数据存入到变量a,变量b中;%a,b是字符型变量,在计算两者相加之前需把他们转换为数字型total=str2num(a)+str2num(b);这段代码实现两数相加c=num2str(total);set(handles.text1,’String‘,c);guidata(hObject,handles);以上两行代码分别用来更新计算结果文本框和图形对象句柄,一般Callback回调函数都以guidata(hObject,handles);结束以更新数据

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功