资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,10,章,MATLAB,图形用户界面设计,*,第,10,章,MATLAB,图形用户界面设计,第,10,章,MATLAB,图形用户界面设计,10.1 MATLAB,图形句柄,10.2,菜单设计,10.3,对话框设计,10.4,图形用户界面设计工具,第,10,章,MATLAB,图形用户界面设计,10.1 MATLAB,图形句柄,一、图形对象及其句柄,1,图形对象,MATLAB,的图形对象包括计算机屏幕、图形窗口、坐标轴、用户菜单、用户控件、曲线、曲面、文字、图像、光源、区域块和方框等。每一个对象按树型结构组织。,2,图形对象句柄,MATLAB,在创建每一个图形对象时,都为该对象分配唯一的一个值,称其为,图形对象句柄,(Handle),。句柄是图形对象的唯一标识符。,计算机屏幕作为根对象由系统自动建立,其句柄值为,0,图形窗口对象的句柄值为一正整数,并显示在该窗口的标题栏,其他图形对象的句柄为浮点数。,例,10-1,绘制曲线并查看有关对象的句柄。,exp10_1.m,第,10,章,MATLAB,图形用户界面设计,10.1 MATLAB,图形句柄,二、图形对象属性,1,图形对象的公共属性,Children,属性,(,对象的子对象,),Parent,属性(对象的父对象),Tag,属性、,Type,属性,UserData,属性(用户自定义数据),Visible,属性(设置显示与否),ButtonDownFcn,属性(按钮按下时响应的函数),CreateFcn,属性(创建对象时响应的函数),DeleteFcn,属性(对象关闭时响应的函数),第,10,章,MATLAB,图形用户界面设计,10.1 MATLAB,图形句柄,2,属性的操作,(1)set,函数:设置属性,set(H,,,PName1,,,value1,,,PName2,,,value2,,,),H,:用于指明要操作的图形对象。,Pname,:属性名,Value,:要设置的属性值,(2)get,函数:读取属性,V=get(H,,,PName),其中,V,是返回的属性值。,如果省略属性名,则将返回句柄所有的属性值。,例,10.2,在同一坐标下绘制红、绿两根不同曲线,希望获得绿色曲线的句柄,并对其进行设置,exp10_2.m,第,10,章,MATLAB,图形用户界面设计,10.1 MATLAB,图形句柄,三、图形对象的创建,图形窗口对象,建立图形窗口对象使用,figure,函数,其调用格式为:,H=figure(PName1,,,value1,,,PName2,,,value2,,,),MATLAB,通过对属性的操作来改变图形窗口的形式。,figure,或,H=figure,按,MATLAB,缺省的属性值建立图形窗口,close(H),关闭图形窗口,第,10,章,MATLAB,图形用户界面设计,三、图形对象的创建,图形窗口常用属性,MenuBar,、,Name,、,NumberTitle,、,Resize,、,Position,Units,、,Color,、,Pointer,KeyPressFcn(,键盘键按下响应,),WindowButtonDownFcn(,鼠标键按下响应,),WindowButtonMotionFcn(,鼠标移动响应,),WindowButtonUpFcn(,鼠标键释放响应,),例,10-3,建立一个图形窗口。该图形窗口没有菜单条,标题名称为,“,我的图形窗口,”,,起始于屏幕左下角、宽度和高度分别为,450,像素点和,250,像素点,背景颜色为绿色,且当用户从键盘按下任意一个键时,将在该图形窗口绘制出正弦曲线。,exp10_3.m,第,10,章,MATLAB,图形用户界面设计,三、图形对象的创建,2.,坐标轴对象,建立坐标轴对象使用,axes,函数,其调用格式为:,H=axes(PName1,,,value1,,,PName2,,,value2,,,),调用,axes,函数用指定的属性在当前图形窗口创建坐标轴,并将其句柄赋给左边的句柄变量,H,。,使用,axes,函数按,MATLAB,缺省的属性值在当前图形窗口创建坐标轴:,axes,或,H=axes,用,axes,函数建立坐标轴之后,还可以调用,axes,函数将之设定为当前坐标轴,且坐标轴所在的图形窗口自动成为当前图形窗口:,axes(H),第,10,章,MATLAB,图形用户界面设计,三、图形对象的创建,常见坐标轴对象属性。,Box,属性,GridLineStyle,属性,Position,属性,Units,属性,Title,属性,例,10-4,利用坐标轴对象实现图形窗口的任意分割。,exp10_4.m,利用,axes,可以在不影响图形窗口上其他坐标轴的前提下建立一个新的坐标轴,从而实现图形窗口的任意分割。,第,10,章,MATLAB,图形用户界面设计,三、图形对象的创建,3.,曲线对象,建立曲线对象使用,line,函数,其调用格式为:,H=line(x,y,z,PName1,,,value1,,,PName2,,,value2,,,),其中对,x,y,z,的解释与高层曲线函数,plot,和,plot3,等一样,其余的解释与前面介绍过的,figure,和,axes,函数类似。,每个曲线对象也具有很多属性。除公共属性外,其他常用属性如下:,Color,属性、,LineStyle,属性、,LineWidth,属性、,Marker,属性、,MarkerSize,属性等。,例,10-5,利用曲线对象绘制曲线,exp10_5.m,第,10,章,MATLAB,图形用户界面设计,10.2,菜单设计,一、建立用户菜单,要建立用户菜单可用,uimenu,函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。,H=uimenu(mH,,,PName1,value1,PName2,value2,.),mH,:上级句柄,,如果,mH,为窗口句柄,则,H,为一级菜单,,如果,mH,为一级菜单,则,H,为二级菜单,,Pname,:属性名,Value,:属性值,H,:生成的菜单对象句柄,第,10,章,MATLAB,图形用户界面设计,10.2,菜单设计,二、,菜单对象常用属性,菜单对象具有,Children,、,Parent,、,Tag,、,Type,、,UserData,、,Visible,等公共属性,除公共属性外,还有一些常用的特殊属性。,例,10.6,建立如下图所示的菜单。,exp10_6.m,第,10,章,MATLAB,图形用户界面设计,10.2,菜单设计,三、右键菜单,右键菜单是用鼠标右键单击某对象时在屏幕上弹出的菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。在,MATLAB,中,可以使用,uicontextmenu,函数和图形对象的,UIContextMenu,属性来建立右键菜单,具体步骤为:,(1),利用,uicontextmenu,函数建立右键菜单。,(2),利用,uimenu,函数为右键菜单建立菜单项。,(3),利用,set,函数将该右键菜单和某图形对象联系起来。,例,10.7,绘制曲线,y=2sin(5x)sin,x,,并建立一个右键菜单,用以控制曲线的线型和曲线宽度。,exp10_7.m,第,10,章,MATLAB,图形用户界面设计,10.3,对话框设计,一、对话框的控件,在对话框上有各种各样的控件,利用这些控件可以实现有关控制。,(1),按钮,(Push Button),;,(2),双位按钮,(Toggle Button),;,(3),复选框,(Check Box),;,(4),单选按钮,(Radio Button),;,(5),列表框,(List Box),;,(6),弹出框,(Popup Menu),;,(7),编辑框,(Edit Box),;,(8),滑动条,(Slider),;,(9),静态文本,(Static Text),;,(10),边框,(Frame),。,第,10,章,MATLAB,图形用户界面设计,10.3,对话框设计,二、对话框的设计,1,建立控件对象,MATLAB,提供了用于建立控件对象的函数,uicontrol,,其调用格式为:,H=uicontrol(mH,,,PName1,,,Value1,,,PName2,,,Value2,),H,:生成的对话框控件句柄,mH,:为图形窗口句柄,Pname,:属性名,Value,:属性值,其中各个属性名及可取的值和前面介绍的,uimenu,函数相似,第,10,章,MATLAB,图形用户界面设计,二、对话框的设计,2,控件对象的属性,MATLAB,的,10,种控件对象使用相同的属性类型,但是这些属性对于不同类型的控件对象,其含义不尽相同。除,Children,、,Parent,、,Tag,、,Type,、,UserData,、,Visible,等公共属性外,还有一些常用的特殊属性。,例,10.8,建立如下图所示的图形演示对话框。在编辑框输入绘图命令,当单击,“,绘图,”,按钮时,能在左边坐标轴绘制所对应的图形,弹出框提供色图控制,列表框提供坐标网格线和坐标边框控制。,exp10_8.m,第,10,章,MATLAB,图形用户界面设计,10.4,图形用户界面设计工具,MATLAB,的用户界面设计工具共有,6,个,它们是:,(1),图形用户界面设计窗口,(guide),:创建、安排各种图形对象。,(2),菜单编辑器,(Menu Editor),:创建、设计、修改下拉式菜单和右键菜单。,(3),对象属性查看器,(Property Inspector),:查看,/,修改各对象属性,(4),位置调整工具,(Alignment Tool),:调整对象的位置。,(5),对象浏览器,(Object Browser),:可观察当前设计阶段的各个句柄图形对象。,(6)Tab,顺序编辑器,(Tab Order Editor),:通过该工具,设置当用户按下键盘上的,Tab,键时,对象被选中的先后顺序。,第,10,章,MATLAB,图形用户界面设计,10.4,图形用户界面设计工具,一、图形用户界面设计窗口,1,GUIDE,设计模板,菜单,File-New-GUI,或命令,guide,:打开图形用户界面的设计模板。,(1)Blank GUI(,默认,),、,(2)GUI with Uicontrols(,带控件对象的,GUI,模板,),、,(3)GUI with Axes and Menu(,带坐标轴与菜单的,GUI,模板,),(4)Modal Question Dialog(,带模式问话对话框的,GUI,模板,),。,用户选择不同的模板时,在,GUI,设计模板界面的右边就会显示出与该模板对应的,GUI,图形,。,第,10,章,MATLAB,图形用户界面设计,一、图形用户界面设计窗口,2,GUI,设计窗口,在,GUI,设计模板中选中一个模板,然后单击,OK,按钮,就会显示,GUI,设计窗口。选择不同的,GUI,设计模式时,在,GUI,设计窗口中显示的结果是不一样的。,GUI,设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。,GUI,设计窗口的菜单栏有,File,、,Edit,、,View,、,Layout,、,Tools,和,Help 6,个菜单项,使用其中的命令可以完成图形用户界面的设计操作。,第,10,章,MATLAB,图形用户界面设计,一、图形用户界面设计窗口,3,GUI,设计窗口的基本操作,在,GUI,设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。例如,创建一个,Push Button,对象,并设计该对象的属性值。,第,10,章,MATLAB,图形用户界面设计,10.4,图形用户界面设计工具,二、对象属性查看器,利用对象属性查看器,可以查看每个对象的属性值,也可以修改、设置对象的属性值,,从,GUI,设计
展开阅读全文