第八章__MATLAB_图形用户界面.ppt
《第八章__MATLAB_图形用户界面.ppt》由会员分享,可在线阅读,更多相关《第八章__MATLAB_图形用户界面.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章 MATLAB 图形用户界面设计1MATLAB图形用户界面设计u什么是什么是MATLAB图形用户界面设计?图形用户界面设计?所谓图形用户界面所谓图形用户界面GUI(Graphical User Interfaces)是指由窗是指由窗口、菜单、对话框等各种口、菜单、对话框等各种图形对象图形对象组成的用户界面组成的用户界面在这种用户界面下,用户的命令和对程序的控制是通过在这种用户界面下,用户的命令和对程序的控制是通过“选择选择”各种图形对象来实现的。各种图形对象来实现的。u图形对象图形对象 Figure(图形窗口图形窗口)Uicontrol(用户控件用户控件)Axes(坐坐标标轴轴)Uime
2、nu(用户菜单用户菜单)Line(曲曲线线)Surface(曲曲面面)Rectangle(方框方框)Patch(区域块区域块)Image(图像图像)Text(文字文字)Light(光源光源)Root(屏幕屏幕)2主要内容u菜单设计菜单设计 u对话框设计对话框设计 u可视化图形用户界面设计可视化图形用户界面设计 3菜单设计uMATLAB的图形窗口有默认的菜单栏,也允许用户设计的图形窗口有默认的菜单栏,也允许用户设计自己所需要的菜单系统自己所需要的菜单系统菜单对象是图形对象的子对象,菜单设计总在某一图形窗口中进菜单对象是图形对象的子对象,菜单设计总在某一图形窗口中进行。行。u建立用户菜单建立用户菜
3、单uimenu函数函数建立一级菜单项的函数调用格式为:建立一级菜单项的函数调用格式为:一级菜单项句柄一级菜单项句柄=uimenu(图形窗口句柄图形窗口句柄,属性名,属性名1,属性值,属性值1,属,属性名性名2,属性值,属性值2,)建立子菜单项的函数调用格式为:建立子菜单项的函数调用格式为:子菜单项句柄子菜单项句柄=uimenu(一级菜单项句柄一级菜单项句柄,属性名,属性名1,属性值,属性值1,属,属性名性名2,属性值,属性值2,)可以缺省,缺省为当前窗口可以缺省,缺省为当前窗口必须指定必须指定4菜单对象常用属性u菜单对象具有菜单对象具有Children、Parent、Tag、Type、User
4、Data、Visible等公等公共属性,除公共属性外,还有一些常用的特殊属性。共属性,除公共属性外,还有一些常用的特殊属性。菜单条的提示名称菜单条的提示名称 Label:它可以是一个任意字符串。在菜单项提示的它可以是一个任意字符串。在菜单项提示的字符串中允许用户使用字符串中允许用户使用 标志,以表示该符号后面的字符在显示时有一标志,以表示该符号后面的字符在显示时有一个下划线修饰,这使得用户可以用个下划线修饰,这使得用户可以用Alt键加该字符键来激活相应的菜单项。键加该字符键来激活相应的菜单项。回调函数回调函数 Callback:它可以为一个函数名称,也可以是一组它可以为一个函数名称,也可以是一
5、组 MATLAB 命令。在该菜单被选中以后,命令。在该菜单被选中以后,MATLAB将自动地调用此回调函数来作出将自动地调用此回调函数来作出对相应菜单项的响应,如果没有设置一个合适的回调函数,则此菜单项对相应菜单项的响应,如果没有设置一个合适的回调函数,则此菜单项也将失去其应有的意义。也将失去其应有的意义。快捷键快捷键accelerator选中状态选中状态checked使能状态使能状态enabled菜单条位置菜单条位置position分隔符分隔符separator5菜单设计举例u建立图形演示系统菜单。菜单条中含有建立图形演示系统菜单。菜单条中含有3个菜单项:个菜单项:Plot、Option和和Q
6、uit。Plot中有中有Sine Wave和和Cosine Wave两个子菜单项两个子菜单项,分别控制在本图形,分别控制在本图形窗口画出正弦和余弦曲线。窗口画出正弦和余弦曲线。Option菜单项包含菜单项包含Grid on,Grid off,Box on,Box off和和Window Color子项子项,其中,其中Grid on和和Grid off控制给坐标轴控制给坐标轴加网格线,加网格线,Box on和和Box off控制给坐标轴加边框,控制给坐标轴加边框,而且这而且这4项只有在画项只有在画有曲线时才是可选的有曲线时才是可选的。Window Color控制图形窗口背景颜色。控制图形窗口背景
7、颜色。Quit控制控制是否退出系统。是否退出系统。u程序如下:程序如下:screen=get(0,ScreenSize);W=screen(3);H=screen(4);figure(Color,1,1,1,Position,0.2*H,0.2*H,0.5*W,0.3*H,.Name,图形演示系统图形演示系统,NumberTitle,off,MenuBar,none);6菜单设计举例(续)(续)%定义定义Plot菜单项菜单项hplot=uimenu(gcf,Label,&Plot);uimenu(hplot,Label,Sine Wave,Call,.t=-pi:pi/20:pi;,plot(
8、t,sin(t);,.set(hgon,Enable,on);,.set(hgoff,Enable,on);,.set(hbon,Enable,on);,.set(hboff,Enable,on););uimenu(hplot,Label,Cosine Wave,Call,.t=-pi:pi/20:pi;,plot(t,cos(t);,.set(hgon,Enable,on);,.set(hgoff,Enable,on);,.set(hbon,Enable,on);,.set(hboff,Enable,on););7菜单设计举例(续)(续)u%定义定义Option菜单项菜单项hoption=u
9、imenu(gcf,Label,&Option);hgon=uimenu(hoption,Label,&Grid on,.Call,grid on,Enable,off);hgoff=uimenu(hoption,Label,&Grid off,.Call,grid off,Enable,off);hbon=uimenu(hoption,Label,&Box on,.separator,on,Call,box on,Enable,off);hboff=uimenu(hoption,Label,&Box off,.Call,box off,Enable,off);hwincor=uimenu(h
10、option,Label,&Window Color,Separator,on);uimenu(hwincor,Label,&Red,Accelerator,r,.Call,set(gcf,Color,r););uimenu(hwincor,Label,&Blue,Accelerator,b,.Call,set(gcf,Color,b););uimenu(hwincor,Label,&Yellow,Call,.set(gcf,Color,y););uimenu(hwincor,Label,&White,Call,.set(gcf,Color,w););8菜单设计举例(续)(续)u%定义定义Qu
11、it菜单项菜单项uimenu(gcf,Label,&Quit,Call,close(gcf);9快捷菜单u快捷菜单是快捷菜单是用鼠标右键单击某对象时用鼠标右键单击某对象时在屏幕上弹出的菜单在屏幕上弹出的菜单u这种菜单出现的位置是不固定的,而且总是和某个图形对这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。象相联系。u在在MATLAB中,可以使用中,可以使用uicontextmenu函数函数和图形对象和图形对象的的UIContextMenu属性属性来建立快捷菜单,具体步骤为:来建立快捷菜单,具体步骤为:(1)利用利用uicontextmenu函数建立快捷菜单。函数建立快捷菜单。(2)
12、利用利用uimenu函数为快捷菜单建立菜单项。函数为快捷菜单建立菜单项。(3)利用利用set函数将该快捷菜单和某图形对象联系起来。函数将该快捷菜单和某图形对象联系起来。10快捷菜单示例u例例 绘制曲线绘制曲线 y=2e-0.5xsin(2x),并建立一个与之相联系的,并建立一个与之相联系的快捷快捷菜单菜单,用以控制曲线的,用以控制曲线的线型线型和曲线和曲线宽度宽度。x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);hl=plot(x,y);hc=uicontextmenu;%建立快捷菜单建立快捷菜单hls=uimenu(hc,Label,线型线型);%建
13、立菜单项建立菜单项hlw=uimenu(hc,Label,线宽线宽);uimenu(hls,Label,虚线虚线,Call,set(hl,LineStyle,:););uimenu(hls,Label,实线实线,Call,set(hl,LineStyle,-););uimenu(hlw,Label,加宽加宽,Call,set(hl,LineWidth,2););uimenu(hlw,Label,变细变细,Call,set(hl,LineWidth,0.5););set(hl,UIContextMenu,hc);%将该快捷菜单和曲线对象联系起将该快捷菜单和曲线对象联系起来来 11主要内容u菜单设
14、计菜单设计 u对话框设计对话框设计 u可视化图形用户界面设计可视化图形用户界面设计 12对话框u对话框是对话框是重要的信息显示和获取输入数据重要的信息显示和获取输入数据的用户界面对象的用户界面对象是用户与计算机进行信息交流的临时窗口是用户与计算机进行信息交流的临时窗口主要通过主要通过用户控件用户控件对象建立对话框对象建立对话框u对话框的控件对话框的控件按钮按钮(Push Button)双位按钮双位按钮(Toggle Button)单选按钮单选按钮(Radio Button)复选框复选框(Check Box)列表框列表框(List Box)弹出框弹出框(Popup Menu)编辑框编辑框(Edi
15、t Box)滑动条滑动条(Slider)静态文本静态文本(Static Text)边框边框(Frame)13对话框的设计uMATLAB提供了用于建立控件对象的函数提供了用于建立控件对象的函数uicontrol,调,调用格式为:用格式为:对象句柄对象句柄=uicontrol(图形窗口句柄,属性名图形窗口句柄,属性名1,属性值,属性值1,属性名,属性名2,属性值,属性值2,)各个属性名及可取的值和前面介绍的各个属性名及可取的值和前面介绍的uimenu函数相似函数相似u控件对象的属性控件对象的属性公共属性公共属性控件对象作为图形对象所具有的属性控件对象作为图形对象所具有的属性14控件对象的属性u公共
16、属性公共属性Children、Parent、Tag、Type、UserData、Visibleu控件对象的基本控制属性控件对象的基本控制属性BackgroundColor取值为颜色的预定义字符或取值为颜色的预定义字符或RGB数值数值Callback取值为字符串取值为字符串,可以是某个可以是某个M文件名或一小段文件名或一小段MATLAB语句,当用户激活某语句,当用户激活某个控件对象时,应用程序就运行该属性定义的子程序。个控件对象时,应用程序就运行该属性定义的子程序。Enable取值为取值为on(缺省值)(缺省值),inactive和和offExtend取值为四元素矢量取值为四元素矢量0,0,wi
17、dth,height,记录控件对象标题字符的位置记录控件对象标题字符的位置和尺寸和尺寸ForegroundColor取值为颜色的预定义字符或取值为颜色的预定义字符或RGB数值数值Max,Min取值都为数值取值都为数值String取值为字符串矩阵或数组,定义控件对象标题或选项内容取值为字符串矩阵或数组,定义控件对象标题或选项内容Style取值可以是取值可以是pushbutton,radiobutton,checkbox,edit,text,slider,frame,popupmenu 或或listboxUnits取值可以是取值可以是pixels,normalized,inches,centime
18、ters或或pointsValue取值可以是矢量,也可以是数值,其含义及解释依赖于控件对象的类型取值可以是矢量,也可以是数值,其含义及解释依赖于控件对象的类型15控件对象的属性(续)(续)u控件对象的修饰控制属性控件对象的修饰控制属性FontAngle取值为取值为normal,italic,oblique,FontName取值为控件标题等字体的字库名取值为控件标题等字体的字库名FontSize取值为数值,取值为数值,FontWeight取值为取值为points,normalized,inches,centimeters或或pixelsHorizontalAligment取值为取值为left,r
19、ight,定义对齐方式定义对齐方式u控件对象的辅助属性控件对象的辅助属性ListboxTop取值为数量值取值为数量值SliderStop取值为两元素矢量取值为两元素矢量minstep,maxstep,用于用于slider控件控件Selected取值为取值为on 或或offSlectionHoghlight取值为取值为on 或或off16对话框设计示例u建立图形演示对话框。在建立图形演示对话框。在编辑框编辑框输入绘图命令,当单击输入绘图命令,当单击“绘图绘图”按钮按钮时,能在左边坐标轴绘制所对应的图形,时,能在左边坐标轴绘制所对应的图形,弹出框弹出框提供色图控制,提供色图控制,列表框列表框提供坐
20、标网格线和坐标边框控制。提供坐标网格线和坐标边框控制。clf;set(gcf,Unit,normalized,Position,0.2,0.3,0.55,0.36);set(gcf,Menubar,none,Name,图形演示图形演示,NumberTitle,off);axes(Position,0.05,0.15,0.55,0.7);%静态文本静态文本uicontrol(gcf,Style,text,Unit,normalized,.Posi,0.63,0.85,0.2,0.1,String,.输入绘图命令输入绘图命令,Horizontal,center);%编辑框编辑框hedit=uico
21、ntrol(gcf,Style,edit,Unit,normalized,.Posi,0.63,0.15,0.2,0.68,.Max,2);%Max取取2,使,使Max-Min1,从而允许多行输入,从而允许多行输入17对话框设计示例(续)(续)%弹出框弹出框hpopup=uicontrol(gcf,Style,popup,Unit,normalized,.Posi,0.85,0.8,0.15,0.15,String,.Spring|Summer|Autumn|Winter,Call,.COMM(hedit,hpopup,hlist);%列表框列表框hlist=uicontrol(gcf,Sty
22、le,list,Unit,normalized,.Posi,0.85,0.55,0.15,0.25,String,.Grid on|Grid off|Box on|Box off,Call,.COMM(hedit,hpopup,hlist);%绘图按钮绘图按钮hpush1=uicontrol(gcf,Style,push,Unit,normalized,.Posi,0.85,0.35,0.15,0.15,String,.绘绘 图图,Call,COMM(hedit,hpopup,hlist);18对话框设计示例(续)(续)%关闭按钮关闭按钮uicontrol(gcf,Style,push,Uni
23、t,normalized,.Posi,0.85,0.15,0.15,0.15,String,.关关 闭闭,Call,close all);uCOMM.m函数文件:函数文件:function COMM(hedit,hpopup,hlist)com=get(hedit,String);n1=get(hpopup,Value);n2=get(hlist,Value);if isempty(com)%编辑框输入非空时编辑框输入非空时eval(com);%执行从编辑框输入的命令执行从编辑框输入的命令 chpop=spring,summer,autumn,winter;chlist=grid on,gri
24、d off,box on,box off;colormap(eval(chpopn1);eval(chlistn2);end19主要内容u菜单设计菜单设计 u对话框设计对话框设计 u可视化图形用户界面设计可视化图形用户界面设计 20可视化图形用户界面设计uMATLAB提供了提供了可视化的用户界面开发环境可视化的用户界面开发环境(GUI Development Environment,GUIDE),实现实现“所见即所得所见即所得”uGUIDE可方便的创建可方便的创建GUI应用程序应用程序,它可以根据用户设计的它可以根据用户设计的GUI布局,布局,自动生成自动生成M文件的框架,用户使用这一框架编制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 _MATLAB_ 图形 用户界面
限制150内