matlabGUI操作讲义图形用户界面设计课件_第1页
matlabGUI操作讲义图形用户界面设计课件_第2页
matlabGUI操作讲义图形用户界面设计课件_第3页
matlabGUI操作讲义图形用户界面设计课件_第4页
matlabGUI操作讲义图形用户界面设计课件_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、matlab-GUI-操作讲义-图形用户界面设计七七.图形用户界面图形用户界面matlab-GUI-操作讲义-图形用户界面设计本章主要内容本章主要内容n图形用户界面的设计原则和一般图形用户界面的设计原则和一般步骤步骤n图形用户界面设计图形用户界面设计n图形用户界面设计工具应用图形用户界面设计工具应用nM M函数文件实现图形用户界面函数文件实现图形用户界面matlab-GUI-操作讲义-图形用户界面设计7.1 图形用户界面的设计原则和一般步骤图形用户界面的设计原则和一般步骤n 图形用户界面就是通过窗口、选单、按钮、文字说明等对象构成一个美观的界面,提供用户利用鼠标或键盘方便地实现操作。n MAT

2、LAB设计图形用户界面的方法有两种:使用可视化的界面环境(图形用户使用可视化的界面环境(图形用户界面设计工具)和通过编写程序。界面设计工具)和通过编写程序。 matlab-GUI-操作讲义-图形用户界面设计7.1.1 设计原则设计原则1.简单性简单性 设计界面时,应力求简捷、直观、清晰地体现出界面的功能和特征。窗口数目尽量少,力避不同窗口间来回切换;多采用图形,少用数值;不要出现可有可无的功能。matlab-GUI-操作讲义-图形用户界面设计7.1.1 设计原则(续)设计原则(续)2.一致性一致性 两层含义:一指自己设计的界面风格要两层含义:一指自己设计的界面风格要尽量一致;二指新设计的界面要

3、与其他已有尽量一致;二指新设计的界面要与其他已有的界面风格要一致。一般习惯图形区在界面的界面风格要一致。一般习惯图形区在界面左侧,控制区在右侧。左侧,控制区在右侧。matlab-GUI-操作讲义-图形用户界面设计7.1.1 设计原则(续)设计原则(续)3. 习常性习常性 设计界面时,应尽量使用人们所熟悉的标志和符号,便于用户使用。4. 其他考虑因素其他考虑因素 除了以上静态性能之外,还应注意界面的动态性能:界面对用户操作的响应要迅速、连续;对持续时间较长的运算要给出等待时间提示,并允许用户中断运算。matlab-GUI-操作讲义-图形用户界面设计7.1.2 一般制作步骤一般制作步骤界面制作包括

4、界面设计和程序实现。n分析界面所要实现的主要功能,明确设计任务;n绘界面草图,注意从使用者的角度来考虑界面布局;n按构思的草图,上机制作静态界面;n编写界面动态功能程序。matlab-GUI-操作讲义-图形用户界面设计7.2 图形用户界面设计图形用户界面设计7.2.1 可视化的界面环境可视化的界面环境 MATLAB6.5版本提供的GUI设计工具较前面的版本有较大的改善,设计界面变化很大。打开GUI设计工具的方法有以下几种:(1) 选择菜单菜单“File”“ New”“GUI”命令命令;(2) 在指令窗口输入以下命令: guide 打开空白设计工作台 guide FN 在工作台中打开文件名为FN

5、 的用户界面注意:注意:在在guideguide指令作用下,待打开的文件名不分字母的大小写。指令作用下,待打开的文件名不分字母的大小写。matlab-GUI-操作讲义-图形用户界面设计7.2 图形用户界面设计(续)图形用户界面设计(续)n 打开的GUI启动界面提供新建界面(Create New GUI)和打开已有界面文件(Open Existing GUI)的属性页。新建界面可以选择空白界面、包含有控件的模板界面、包含有轴对象和菜单的模板界面、标准询问窗口等选项。n 选择任意一项都会打开GUI设计工作台,对界面静态组成部分进行的具体的修改工作都是在工作台实现的。matlab-GUI-操作讲义-

6、图形用户界面设计7.2 图形用户界面设计(续)图形用户界面设计(续)如在指令窗键入:guide,则可得到如下GUI设计工具的启动界面:空白界面有控件的模板界面有轴对象和菜单的模板界面标准询问窗口matlab-GUI-操作讲义-图形用户界面设计7.2 图形用户界面设计(续)图形用户界面设计(续) 若激活打开已有界面文件(Open Existing GUI)的属性页,则可通过打开文件浏览器(Browse)选定需打开文件并打开,主窗口则显示最近打开的界面文件的列表。最近打开的界面文件列表最近打开的界面文件列表打开文件浏览器打开文件浏览器matlab-GUI-操作讲义-图形用户界面设计7.2 图形用户

7、界面设计(续)图形用户界面设计(续)如在新建界面中选择“Blank GUI (Default)”,然后单击“OK”按钮,就会出现如下的GUI设计工作台:matlab-GUI-操作讲义-图形用户界面设计7.2 图形用户界面设计(续)图形用户界面设计(续)GUI设计工作台有4个功能区:菜单条、编菜单条、编辑工具条、控件模板区、设计工作区。辑工具条、控件模板区、设计工作区。菜单条编辑工具条控件模板区设计工作区matlab-GUI-操作讲义-图形用户界面设计7.2 图形用户界面设计(续)图形用户界面设计(续) 在工具栏主要提供了六个工具:对象对齐对象对齐工具、菜单编辑器、文件编辑器、属性编工具、菜单编

8、辑器、文件编辑器、属性编辑器、界面激活工具和对象浏览器辑器、界面激活工具和对象浏览器,单击这六个按钮就会出现相应的窗口。对象对齐工具菜单编辑器文件编辑器属性编辑器对象浏览器运行界面matlab-GUI-操作讲义-图形用户界面设计7.2.2 创建用户菜单创建用户菜单1.菜单编辑菜单编辑在GUI设计工作台的菜单条选择“Tool”Menu Editor”或单击工具栏“Menu Editor”按钮,就会出现菜单编辑器窗口。新建菜单新建子菜单菜单左、右移菜单上、下移删除菜单填写菜单名,如果在前面加“&”符号则加快捷键,当运行时第一个字母会加下划线,以便用户快速激活菜单项标记分隔符初值是否已选输入

9、回调函数matlab-GUI-操作讲义-图形用户界面设计7.2.2 创建用户菜单创建用户菜单(续续)2. 通过通过uimenu命令创建菜单命令创建菜单h_menu=uimenu(h_parent,PropertyName,ProperValue,)h_menu=uimenu(h_fig,lable,paint) %创建菜单paintmatlab-GUI-操作讲义-图形用户界面设计7.2.3 控件的使用控件的使用1. 常用控件常用控件详见下表所示:详见下表所示:matlab-GUI-操作讲义-图形用户界面设计控件名控件名PropertyName功能功能按钮按钮PushButton最常用的控件,用

10、于响应用户的鼠标单击,按钮上有说明文字说明其作用。切换按钮切换按钮ToggleButton当单击时会凹凸状态切换。单选按钮单选按钮RadioButton当单击时会用黑白点切换,总是成组出现,多个单选按钮互斥,一组中只有一个被选中。复选框复选框CheckBox当单击时会用切换,有选中、不选中和不确定等状态,总是成组出现,多个复选框可同时选用。文本框文本框EditText凹形方框,可随意输入和编辑单行和多行文字,并显示出来。静态文本框静态文本框StaticText用于显示文字信息,但不接受输入。滚动条滚动条Slider可以用图示的方式显示在一个范围内数值的大概值范围,用户可以移动滚动条改变数值。框

11、架框架Frame将一组控件围在框架中,用于装饰界面。列表框列表框ListBox显示下拉文字列表,用户可以从列表中选择一项和多项。弹出式菜单弹出式菜单PopupMenu相当于文本框和列表框的组合,用户可以从下拉列表中选择。坐标轴坐标轴Axes用于绘制坐标轴。matlab-GUI-操作讲义-图形用户界面设计7.2.3 控件的使用(续)控件的使用(续)2. 控件的创建控件的创建(1) 在可视化界面环境中创建控件在可视化界面环境中创建控件 在可视化界面环境中创建控件很简单,就是在控件模板区中选中控件,然后拖放到设计工作区即可。 matlab-GUI-操作讲义-图形用户界面设计7.2.3 控件的使用(续

12、)控件的使用(续)(2) 用用uicontrol命令创建控件命令创建控件 h_control=uicontrol(h_Parent,PropertyName,ProperValue,)matlab-GUI-操作讲义-图形用户界面设计7.2.3 控件的使用(续)控件的使用(续)3. 控件的常用属性控件的常用属性 创建控件以后,需要对控件的各种属性进行设置,大部分控件都具有以下属性。(1)string属性:用于显示在控件上的字符串,起说明或提示作用。(2)callback属性:回调函数,与菜单的一样。(3)enable属性:表示该控件是否有效,”on“表示有效,”off“表示无效。(4)toolt

13、ipstring属性:当鼠标放在控件上时显示提示信息,为字符串。(5)字体字体属性:包括fontname,fontsize等。(6)Tag属性:控件的标记,用于标识控件。 matlab-GUI-操作讲义-图形用户界面设计7.2.4 对象对齐工具、属性编辑器和对象浏览器对象对齐工具、属性编辑器和对象浏览器对象对齐工具用来将用户界面的多个控件对齐;通过对象浏览器可以查看用户界面中的所有对象;在属性编辑器中可以设置和查看对象的各种属性。matlab-GUI-操作讲义-图形用户界面设计7.2.5 回调函数回调函数n 实现GUI的基本机制是对控件的属性编程。在设计界面中选定需要编写回调函数的对象,然后选

14、择菜单菜单”View”“Object Callbacks”,就会出现4个子菜单,都是用来编写回调函数的。n 当选择各选单项时,MATLAB会提醒用户保存设计的界面,然后打开打开M文件编辑器文件编辑器/ /调试器调试器,可看到机器自动生成了一个函数文件,用户即可在该文件中带%标记的行填写回调指令,其余指令用户不必也不能更改。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用图形用户界面设计工具应用【例例7 71 1】 利用GUI工具设计用户界面。该界面具有以下功能:(1)在编辑框中,可输入表示阻尼比的标量或“行数组” 数值,并在按【enter】键后,在轴上画出相应的

15、 蓝色曲线(坐标范围:X轴0,15;Y轴0,2)。(2)在点击【Grid on】或【Grid off】键时,在轴上 画出或删除“分格线”;缺省时无分格线。(3)在菜单【Options】下,有2个下拉菜单【Box on】和【Box off】;缺省时为Box off状态。(4)所设计的界面和其上图形对象、控件对象都按比例缩放。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)界面最终效果图如下所示:matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续) 由于本例的设计界面

16、清晰、要求明确,所以无需进行功能分析和绘制草图,而可直接进入界面制作阶段。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)n 使用“guide”命令启动GUI界面,选择“Blank GUI”出现GUI设计工作台,调整图形大小,将界面窗口左边的控件模板区中的控件拖放到设计工作区中。n 放置以下控件:一个坐标轴、两个静态文本框、一个可编辑文本框、两个按钮;然后打开对象对齐工具对齐各控件,界面布局如下图。 matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)matlab

17、-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)2. 设置控件属性设置控件属性 双击工作区及控件可引出图形窗和相应控件的“属性编辑框(Property Inspector)”。 在图形窗的属性编辑框中,设置如下属性值:Name Myguil %图形窗的名称Resize on %图形窗可以缩放Tag figuer1 %生成handles.figure1域存放图形窗句柄matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)在轴属性编辑框中,设置如下属性值:nUnits normal

18、ized %采用相对度量单位,缩放时保持比例nBox off %坐标轴不封闭nTag axes1 %生成handles.axes1域存放轴句柄nXLim 0,15 %X轴范围nYLim 0,2 %Y轴范围matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)在图形区上方的静态文本的属性编辑框中,设置如下属性值:nFontsize 0.696 %字体大小nFontUnits normaliszed %采用相对度量单位,缩放时保持字体比例nString 归一化二阶系统的阶跃响应曲线 %显示在界面上的字符nTag title_text %

19、生成handles.title_text域存放静态文本句柄nHorizontalAlignment Center %文字中心对齐nUnits normalized %采用相对度量单位,缩放时保持该区比例matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)在可编辑文本上方的静态文本的属性编辑框中,设置如下属性值:nFontsize 0.351 %字体大小nFontUnits normaliszed %采用相对度量单位,缩放时保持字体比例nHorizontalAlignment Center %文字中心对齐nString 系统阻尼比系

20、统阻尼比 %显示在界面上的字符nTag edit_text %生成handles.edit_text域存放静态文本句柄nUnits normalized %采用相对度量单位,缩放时保持该区比例matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)在可编辑文本的属性编辑框中,设置如下属性值:nFontsize 0.626 %字体大小nFontUnits normaliszed %采用相对度量单位,缩放时保持字体比例nHorizontalAlignment Center %文字中心对齐nString %在界面上显示为空白nTag zet

21、a_edit %生成handles.zeta_edit域存放弹出式选单句柄nUnits normalized %采用相对度量单位,缩放时保持该区比例matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)在上按键的属性编辑框中,设置如下属性值:nFontsize 0.485 %字体大小nFontUnits normaliszed %采用相对度量单位,缩放时保持字体比例nHorizontalAlignment Center %文字中心对齐nString Grid on %在按键上显示Grid onnTag GridOn_push %生成

22、handles.GridOn_push域存放该键句柄nUnits normalized %采用相对度量单位,缩放时保持该键比例matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)在下按键的属性编辑框中,设置如下属性值:nFontsize 0.485 %字体大小nFontUnits normaliszed %采用相对度量单位,缩放时保持字体比例nHorizontalAlignment Center %文字中心对齐nString Grid off %在按键上显示Grid offnTag GridOff_push %生成handles.

23、GridOff_push域存放该键句柄nUnits normalized %采用相对度量单位,缩放时保持该键比例matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)3. 精细调整控件的大小及其相对位置精细调整控件的大小及其相对位置 直接拖拉控件调整其大小;通过对象对齐工具将控件摆放整齐。4. 创建菜单创建菜单 点击“菜单编辑器菜单编辑器”图标,引出空白菜单编辑对话窗,再点击该对话窗最左上方的“新菜新菜单单New Menu”图标,在左侧空白窗口中,出现”Untitled1”图标;点击此图标则在右侧引出填写栏,在“lable”中填写O

24、ptions;在“Tag”中填写options,于是左侧的”Untitled1”图标变成“Options”图标,表示此菜单已生成。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)先点亮左侧的“Option”图标,再点击菜单编辑对话窗上的“新菜单项New Menu Item”图标,就引出等待定义的菜单项;在右侧的“Label”中填写Box on,在“Tag”中填写box_on。重复该小步操作,建立另一个菜单项Box off。 注意:菜单编辑对话窗上的“CallbackCallback”不要填写,机器自动生成。matlab-GUI

25、-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)5. 界面的激活和回调函数的生成界面的激活和回调函数的生成 点击工作台上的”运行界面“的工具图标,会出现一个询问对话框,当按提示对以上的设计进行存储以后,就会引出2个界面:名为Myguil的(待激活的)图形用户界面;展示名为Myguil的(待填写回调指令的)M函数文件的文件编辑器界面。同时,在当前目录或给定目录上,由MATLAB自动生成了2个文件,即Myguil.fig和和Myguil.m。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用

26、(续)在Myguil.m文件中,填写回调指令:function varargout=zeta_edit_Callback(hObject, eventdata, handles,varargin)z=str2num(get(handles.zeta_edit,String) %从从编辑框中获取编辑框中获取zeta数据数据t=0:0.1:15; %设置时间采样数组设置时间采样数组cla %clear current axisfor k=1:length(z) y(:,k)=step(1,1,2*z(k),1,t); %计算阶跃输出计算阶跃输出 line(t,y(:,k); %绘制曲线绘制曲线en

27、dmatlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)Function varargout=GridOn_push_Callback(hObject, eventdata, handles,varargin)grid on %配合配合Grid on 按键操作的指令按键操作的指令function varargout=GridOff_push_Callback(hObject, eventdata, handles,varargin)grid off % 配合配合Grid off 按键操作的指令按键操作的指令matlab-GUI-操作

28、讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)function varargout=box_on_Callback(hObject, eventdata, handles,varargin)box on %配合菜单配合菜单Box on的操作指令的操作指令set(handles.box_on,enable,off) %使菜单项使菜单项Box on失能失能set(handles.box_off,enable,on) %使菜单项使菜单项Box off使能使能matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设

29、计工具应用(续)function varargout=box_off_Callback(hObject, eventdata, handles,varargin)box off %配合菜单配合菜单Box off的操作指令的操作指令set(handles.box_off,enable,off) %使菜单项使菜单项Box off 失能失能 set(handles.box_on,enable,on) %使菜单项使菜单项Box on 使能使能matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)注意:注意:在填写回调函数时,只有带在填写回调

30、函数时,只有带%标记标记的那些行指令是用户为满足设计要求而填写的,其的那些行指令是用户为满足设计要求而填写的,其余指令都是机器自动生成的,用户不必也不能更改余指令都是机器自动生成的,用户不必也不能更改6. 6. 图形用户界面的使用图形用户界面的使用 经过以上几个步骤生成的图形用户界面已经可以使用了,只要Myguil.m和Myguil.fig在当前目录或在MATLAB搜索路径上,那么在指令窗运行Myguil就能使用该界面。生成的界面如下图所示:matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)matlab-GUI-操作讲义-图形用

31、户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)例7.2 设计一个GUI,实现计算器的功能步骤一步骤一:界面功能分析 该计算器能完成数字的四则运算及部分常用的科学计算,如sin,cos,log等。步骤二步骤二:绘界面草图 可有多种风格的界面。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)草图一:数值显示区(参加计算的数值及计算结果)数字按钮(09十个数字及小数点)代表+,-,*,/及sin,cos, log, log10运算的按钮开始计算及清零按钮matlab-GUI-操作讲义-图形用户界面设计

32、7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)草图二:计算式第一个数字的编辑显示计算式两个数字间的计算关系计算式第二个数字的编辑显示计算结果显示区代表+,-,*,/及and,or,xor,yx等运算的按钮开始计算及清零按钮matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)草图三:表达式编辑显示区(格式和MATLAB命令相同)计算结果显示区开始计算及清零按钮matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)步骤三步骤三:设计界面( 选择草图一)

33、初步布局初步布局 打开GUI工作台,通过用鼠标拖拉“工作区”右下角的“小黑块”使工作区的大小合适,然后根据草图从控件选择区选择相应的控件拖拉到工作区的相应位置。效果图如下页所示:matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)2. 修改控件属性修改控件属性1)双击设计工作区的空白部分,打开图形窗的属性框,设置属性如下: MenuBar none %图形窗不使用标准菜单 Name Experiment1 %图形窗名

34、称 Resize off %图形窗不能缩放 Tag mainWnd %生成handles.mainWnd域存放图形窗句柄matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)2)静态文本编辑框的属性设置。以”expression”文本框为例: FontSize 15 %字体大小 Fontunits point % 字体大小的度量单位 HorizontalAlignment Center %对齐方式 String Expression %待显示的字符 Tag text1 %生成handles.text1存放该静态文本框的句柄 Unit

35、s point %文本框度量单位 matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)3)可编辑文本框的属性设置 Sting 0 %初始状态下显示数字0 Tag pExp %可编辑文本框的句柄 其它与静态文本框相同matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)注注: n Units或或FontUnits可选择可选择:inches(英寸英寸),centimeters (厘米厘米), normalized(按比例缩放按比例缩放),points(点阵点阵), pixe

36、ls (像素像素), characters(字符字符)。如果选择如果选择normalized,那么当那么当resize设为设为on时,控件时,控件或字体大小随着整个窗口的缩放而改变或字体大小随着整个窗口的缩放而改变。n 水平对齐方式水平对齐方式 HorizontalAlignment可以是可以是left, center, right。n 控件句柄控件句柄Tag有默认值,建议修改为带有具体含义的有默认值,建议修改为带有具体含义的字符串,以增加程序可读性和方便回调函数调用字符串,以增加程序可读性和方便回调函数调用。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续

37、)图形用户界面设计工具应用(续)4)单功能按钮属性设置。以按钮“1”为例: String 1 Tag p1其它和静态文本框相同。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)3. 创建菜单创建菜单 创建一个“操作操作”菜单,带两个下拉选单“计计算算”和“清零清零”。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)步骤四步骤四:激活界面,填写回调函数n 保存静态界面后,利用工具栏上的运行界面按钮激活界面,同时,机器自动生成了exp1.fig和exp1.m两个文

38、件。n 打开exp1.m文件,可看到自动生成的回调函数,该函数的命名利用对象句柄进行区分,没有任何执行语句。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)回调函数:Tag_Callback(hObject,eventdata,handles)n 通过加入自己的处理语句,才可实现所需的功能。n 其中,hObject是该控件的句柄;evendata是备用参数,目前没有定义;handleshandles是用户数据,本身是一个构架数组,存放了当前窗口所有对象的句柄,包括图形窗本身、所有控件和菜单的句柄,并且可以增加一些域用来传递用户

39、数据。n 利用guidata(H,handles)可以更新H的用户数据。对本例来说,先需要定义几个用户变量,以便记录参加对本例来说,先需要定义几个用户变量,以便记录参加运算的数值,进行计算。运算的数值,进行计算。matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)function exp1_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;handles.s_Exp=; %以字符串的形式记以字符串的形式记录计算表达式录计算表达式han

40、dles.s_Num=; %以字符串的形式记录编辑框中以字符串的形式记录编辑框中要显示的数值要显示的数值handles.i=1;% s_Exp的计数器的计数器handles.j=1;% s_Num的计数器的计数器handles.flag=0; %用来区分四则运算和函数运算用来区分四则运算和函数运算的标志的标志% Update handles structureguidata(hObject, handles);matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)数字按钮的回调函数,以数字数字按钮的回调函数,以数字1按钮的回调函数为

41、例按钮的回调函数为例function p1_Callback(hObject, eventdata, handles)handles.s_Exp(handles.i)=1;handles.s_Num(handles.j)=1;handles.i=handles.i+1;handles.j=handles.j+1;guidata(handles.mainWnd,handles);set(handles.pExp,string,handles.s_Num)matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续) 四则运算的回调函数,以四则

42、运算的回调函数,以“+”为例为例 function pAdd_Callback(hObject, eventdata, handles) if handles.flag handles.s_Exp(handles.i)=); handles.flag=0; handles.i=handles.i+1; handles.j=handles.j+1; end handles.s_Exp(handles.i)=+; handles.s_Num(handles.j)=+; handles.i=handles.i+1; handles.j=handles.j+1; guidata(handles.mai

43、nWnd,handles); set(handles.pExp,string,handles.s_Num)matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)其它运算的回调函数,以其它运算的回调函数,以“sin”为例为例function pSin_Callback(hObject, eventdata, handles) handles.s_Exp(handles.i:handles.i+3)=sin(; handles.flag=1; handles.s_Num=sin(; handles.i=handles.i+4; handles.j=handles.j+4; guidata(handles.mainWnd,handles); set(handles.pExp,string,handles.s_Num)matlab-GUI-操作讲义-图形用户界面设计7.3 图形用户界面设计工具应用(续)图形用户界面设计工具应用(续)Reset按钮的回调函数,和按钮的回调函数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论