《【教学课件】第八讲MATLAB图形用户界面设计.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第八讲MATLAB图形用户界面设计.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八讲 MATLAB图形用 户界面设计所谓图形用户界面是指由窗口、菜单、对话框等各种图形对象组成的用户界面。在这种用户界面下,用户的操作是通过“选择”各种图形对象来实现的。一、图形窗口的控制一、图形窗口的控制1.建立图形窗口要建立一个图形窗口,有两种方法:(1)菜单操作:在MATLAB命令窗口选择File菜单中的New命令,再选取Figure子菜单,这样将建立一个标准的MATLAB图形窗口;(2)命令操作:使用figure函数建立一个图形窗口,并返回该窗口的句柄。调用figure函数的一般格式为:窗口句柄=figure(属性名1,属性值1,属性名2,属性值2,)MATLAB通过对属性的操作来改
2、变图形窗口的形式。2.图形窗口的常用属性(1)MenuBar属性 MenuBar属性的取值可以是figure(缺省值)或none。用来控制图形窗口是否应该具有菜单条。如果它的属性值为none,则表示该图形窗口没有菜单条。这时用户可以根据后面将介绍的uimenu()函数来加入自己的菜单条,如果属性值为figure,则该窗口将保持图形窗口默认的菜单条,这时也可以采用uimenu()函数在原默认的图形窗口菜单后面添加新的菜单项。一、图形窗口的控制(2)Name属性Name属性的取值可以是任何字符串,它的缺省值为空。这个字符串作为图形窗口的标题。一般情况下,其标题形式为:Figure No.1:字符串
3、。2.图形窗口的常用属性一、图形窗口的控制(3)NumberTitle属性NumberTitle属性的取值是on(缺省值)或off。决定着在图形窗口的标题中是否以“Figure No.n:”为标题前缀,这里n是图形窗口的序号,即句柄值。【例1】建立一个图形窗口。该图形窗口起始于屏幕左下角、宽度和高度分别为300像素点和150像素点,背景颜色为绿色,且当用户从键盘按下任意一个键时,将显示“Hello,Keyboard Key Pressed.”字样。一、图形窗口的控制 程序为:hf=figure(Color,0,1,0,Position,1,1,300,150,.Name,图形窗口示例,Numb
4、erTitle,off,MenuBar,none,.KeyPressFcn,disp(Hello,Keyboard Key Pressed.);3.图形窗口控制函数(1)设置图形窗口属性函数setset函数的调用格式为:set(窗口句柄,属性名1,属性值1,属性名2,属性值2,)(2)获取句柄信息函数get调用格式为:V=get(句柄名,属性名)其中V是返回的属性值。一、图形窗口的控制二、菜单设计 MATLAB的各个图形窗口有自己的菜单栏,包括File、Edit、Windows和Help等菜单项。为了建立用户自己的菜单系统,可以先将图形窗口的MenuBar属性事先设置为none,以取消图形窗口
5、缺省的菜单,然后再建立用户自己的菜单。二、菜单设计1.建立用户菜单 要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立菜单条中的菜单项和子菜单中的菜单项。建立菜单条的函数调用形式为:菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,)建立子菜单的函数调用形式为:子菜单句柄=uimenu(父菜单句柄,属性名1,属性值1,属性名2,属性值2,)二、菜单设计2.菜单对象常用属性(1)Tag属性 Tag属性的取值是字符串,它定义了该菜单对象的一个标识值。定义了Tag属性后,在任何程序中都可以通过这个标识值找出该菜单对象。(2)Type属性 Type属
6、的取值总是uimenu,这个属性值标明图形对象的类型。对菜单对象,其类型就是uimenu,用户不能改写这个属性。(3)UserData属性 UserData属性的取值是一个矩阵,缺省值为空矩阵,用户可以在这个属性中保存与该菜单对象相关的重要数据或信息,借此可以达到传递数据或信息的目的。可以用set和get函数访问该属性。二、菜单设计 菜单条中含有File和Help两个菜单项。如果选择File中的New选项,则将显示New Item字样,如果选择File中的Open选项,则将显示出Open Item字样。File中的Save菜单项初始时处于禁选状态,在选择Help选项之后将此菜单项恢复成可选状态
7、,如果选择File中的Save选项,则将出现一个新的菜单(三级菜单),其中共有两个子菜单项Text file和Graphics file,如果选择第1项,则将变量k1和k2分别赋为0和1,然后调用file01.m文件来进行相应的处理(该文件需要另行编写),如果选择第2项,则将变量k1和k2分别赋为1和0,然后调用file10.m文件来进行相应的处理(该文件也需要另行编写)。如果选择File中的Save As选项,则将显示Save As Item字样。如果选择File中的Exit选项,则将关闭当前窗口。如果选择Help中About 选项,则将显示Help Item字样,并将Save菜单设置成可选
8、状态。【例2】建立一个菜单系统。二、菜单设计 程序如下:screen=get(0,ScreenSize);W=screen(3);H=screen(4);hf=figure(Color,1,1,1,Position,1,1,0.4*W,0.3*H,.Name,菜单设计示例一,NumberTitle,off,MenuBar,none);hfile=uimenu(hf,label,&File);hhelp=uimenu(hf,label,&Help);uimenu(hfile,label,&New,call,disp(New Item);uimenu(hfile,label,&Open,call,
9、disp(Open Item);hsave=uimenu(hfile,label,&Save,Enable,off);uimenu(hsave,label,Text file,call,k1=0;k2=1;file01;);uimenu(hsave,label,Graphics file,call,k1=1;k2=0;file10;);uimenu(hfile,label,Save&As,call,disp(Save As Item);uimenu(hfile,label,&Exit,separator,on,call,close(hf);uimenu(hhelp,label,About.,c
10、all,.disp(Help Item);,set(hsave,Enable,on);二、菜单设计三、对话框设计1.对话框的组成 1.按钮(Push Button)2.单选按钮(Radio Button)3.复选框(Check Box)4.列表框(List Box)5.弹出式列表框(Popup List Box)6.编辑框(Edit Box)7.滑动条(Slider)8.静态文本(Static Text)9.边框(Frame)三、对话框设计2.对话框的设计1).建立控制对象 MATLAB提供了用于建立控制对象的函数uicontrol,其调用格式为:对象句柄=uicontrol(窗口句柄,属性名1,属性值1,属性名2,属性值2,)2).控制对象的属性三、对话框设计【例3】建立一个对话框。三、对话框设计 在该对话框上分别建立静态文本显示Input Box和Output Box。它们的下方各有一个修饰用边框,左边边框内加入了3个单选按钮和一个编辑框,用于确定Y的值,右边边框有一个静态文本,用于显示Y的值。最后在该对话框中加入了两个按钮Get Y和Cancel,若按下了Get Y按钮,则将执行Scom回调命令,在右边边框的静态文本中显示左边边框所确定的Y值,若选择了Cancel按钮,则将关闭此对话框。