资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第9章 GUI图形设计,*,MATLAB 7,简明教程,清华大学出版社,第,9,章,GUI,图形设计,教学目标,教学重点,教学过程,11/18/2024,1,第9章 GUI图形设计,教学目标,本章所描述的图形用户界面的功能,它让用户定制用户与,MATLAB 7,的交互方式。从而提供一种命令窗口之外的与,MATLAB 7,的交互方式。,用户将学习句柄图形的使用。并掌握图形用户界面特性(包括菜单、上下文菜单、按钮、滚动条、单选按钮、弹出式菜单和列表框等),并掌握如何编制,GUI,程序。,11/18/2024,2,第9章 GUI图形设计,教学重点,句柄图形对象,图形框架窗口对象,GUI,对象的创建,GUI,的编程方法,GUI,控件的使用,11/18/2024,3,第9章 GUI图形设计,教学过程,句柄图形对象的基本知识,图形框架窗口对象的基本内容,图形对象属性的获取和设置,图形对象的操作,GUI,的基本知识,GUI,对象的创建方法,GUI,的编程方法,GUI,的,M,文件,GUI,控件的使用,11/18/2024,4,第9章 GUI图形设计,1.,句柄图形对象,图形框架窗口对象,(Figure),图形对象属性的获取和设置,图形对象的操作,11/18/2024,5,第9章 GUI图形设计,(1),图形框架窗口对象,(Figure),绘制图形的图形框架窗口对象,核心,(Core),对象,绘图,(Plot),对象,注释对象,11/18/2024,6,第9章 GUI图形设计,窗口对象,图形框架窗口对象是,MATLAB 7,显示图形的窗口,包括菜单、工具栏、交互式对象、弹出式菜单、坐标、坐标轴子对象以及其他的图形对象。,MATLAB 7,对一次打开的图形数目没有限制,(,用户的计算机系统可能会做出限制,),。,在,MATLAB 7,中,图形框架窗口对象有两条特殊的作用。,包含数据图形;,包含图形用户界面操作,GUI,。,11/18/2024,7,第9章 GUI图形设计,绘制图形的图形框架窗口对象,MATLAB 7,语言中实现句柄访问的函数,函,数,名,功,能,描,述,gca,获得当前坐标轴对象的句柄,gcbf,获得当前正在执行调用的图形对象的句柄,gcbo,获得当前正在执行调用的对象的句柄,gcf,获得当前图形对象的句柄,gco,获得当前对象的句柄,11/18/2024,8,第9章 GUI图形设计,核心,(Core),对象,核心对象包括直线、文本和特殊对象,(,如光、图像和面图,),等基本的绘图命令;而坐标系对象包括线、面图和等高线图等描述数据的对象。,11/18/2024,9,第9章 GUI图形设计,核心,(Core),对象,MATLAB 7,语言中创建核心对象的函数,函,数,名,功,能,描,述,axes,坐标轴,image,MATLAB 7,语言中的图像,light,光源,line,二维图形中最基本的图形对象,patch,按指定方式填充的多边形,rectangle,具有可设置边界和表面颜色的二维图形对象,surface,图形表面,text,图形中的文本,11/18/2024,10,第9章 GUI图形设计,核心,(Core),对象举例,x,y,=meshgrid(-2:.4:2);,Z=x.*exp(-x.2-y.2);,fh,=figure(Position,350 275 600 450,Color,w);,ah=axes(Color,.8.8.8,XTick,-2-1 0 1 2,.,YTick,-2-1 0 1 2);,sh,=,surface(XData,x,YData,y,ZData,Z,.,FaceColor,get(ah,Color)+.1,.,EdgeColor,k,Marker,o,.,MarkerFaceColor,.5 1.85);,view(3),11/18/2024,11,第9章 GUI图形设计,绘图,(Plot),对象,MATLAB 7,提供了一系列的高级绘图函数来创建绘图对象,这些绘图对象的属性具有重要的意义,使用它们可以很方便地访问绘图对象所包含的核心对象的重要属性。,11/18/2024,12,第9章 GUI图形设计,绘图,(Plot),对象,MATLAB 7,语言中的绘图对象及其绘图命令,函,数,名,功,能,描,述,areaseries,用于创建,area,图,barseries,用于创建,bar,图,contourgroup,用于创建,contour,图,errorbarseries,用于创建,errorbar,图,lineseries,提供给绘制线型图的,plot,和,plot3,等函数使用,quivergroup,用于创建,quiver,和,quiver3,图形,scattergroup,用于创建,scatter,和,scatter3,图形,stairseries,用户创建阶梯图形,(stairs),stemseries,用于创建,stem,和,stem3,图形,surfaceplot,提供给,surf,和,mesh,群函数使用,11/18/2024,13,第9章 GUI图形设计,绘图,(Plot),对象举例,x,y,z,=peaks;,c,h,=,contour(x,y,z,);,set(h,LineWidth,3,LineStyle,:),11/18/2024,14,第9章 GUI图形设计,注释对象,用户一般习惯于使用图形编辑工具栏或是,Insert,菜单来创建注释对象,同时,用户也可以使用注释函数来创建注释对象。,注释对象在一个隐藏的坐标轴下创建,该坐标轴延伸到图形整个长度和宽度,这样,用户可以使法向坐标系,(,以图形的左下点为,(0,,,0),,右上点为,(1,,,1),在图形的任意部位定义图例注释。,11/18/2024,15,第9章 GUI图形设计,(2),图形对象属性的获取和设置,get,函数,set,函数,默认属性,11/18/2024,16,第9章 GUI图形设计,get,函数,在,MATLAB 7,中,使用,get,函数可以得到对象的属性及其属性值,其通常的调用格式为 :,get,(,handle,PropertyName,),。,关于它的详细使用方法,用户可以参见,get,函数的帮助信息。,11/18/2024,17,第9章 GUI图形设计,set,函数,在,MATLAB 7,中,使用,set,函数可以设置对象的属性值,其通常的调用格式如下。,set,(,H,PropertyName,PropertyValue,),命令设置,PropertyName,的属性为,PropertyValue,。,set,(,H,a,),命令中,,a,为结构型变量,字段名为图形对象的属性名,字段值为映像的属性值。,set,(,H,PropertyName1,PropertyValue1,PropertyName2,PropertyValue,2,.),命令同时设置多个属性的值。,11/18/2024,18,第9章 GUI图形设计,默认属性,MATLAB 7,在建立对象时把默认属性赋给各对象。如果想不采用这些默认值,就必须使用句柄图形工具对它们进行设置。当每次都要改变同一属性时,,MATLAB 7,允许设置用户自己的默认属性。,MATLAB 7,让用户改变对象层次结构中任意一点上的单个对象或对象类型的默认属性。,11/18/2024,19,第9章 GUI图形设计,默认属性举例,whitebg(w,)%create a figure with a white color scheme,set(0,DefaultAxesColorOrder,0 0 0,.,DefaultAxesLineStyleOrder,-|-|:|-.),Z=peaks;plot(1:49,Z(4:7,:),11/18/2024,20,第9章 GUI图形设计,(3),图形对象的操作,查找对象,堆积次序,11/18/2024,21,第9章 GUI图形设计,查找对象,句柄图形提供了对图形对象的访问途径,并且允许用函数,get,和,set,定制图形。,如果用户忘记保存句柄或图形对象的句柄,或者当变量被覆盖时,如果要改变对象的属性,就必须进行对象句柄的查找。,MATLAB 7,提供了查找对象的函数,gcf,、,gca,、,gco,和,findobj,等。,11/18/2024,22,第9章 GUI图形设计,堆积次序,堆积次序决定哪一对象叠加在其他对象上。开始时,堆积次序在对象被创建时就被决定,最后创建的对象在堆栈的顶部。,当前的堆积次序是由一个给定的对象,Children,句柄出现的次序给出的。,11/18/2024,23,第9章 GUI图形设计,2.GUI,的基本知识,启动,GUI,布局,(Layout),编辑器,GUIDE,模板介绍,运行,GUI,11/18/2024,24,第9章 GUI图形设计,(,1,)启动,GUI,用户欲启动,GUI,操作,可以在命令窗口中输入,guide,命令。,11/18/2024,25,第9章 GUI图形设计,(,2,)布局,(Layout),编辑器,当用户在,GUIDE,中打开一个,GUI,时,该,GUI,将显示在,Layout,编辑器中,,Layout,编辑器是所有,GUIDE,工具的控制面板。,11/18/2024,26,第9章 GUI图形设计,布局,(Layout),编辑器,用户可以使用鼠标拖动模板左边的控件,(,按钮、坐标轴、单选按钮等,),到中间的布局区域。,11/18/2024,27,第9章 GUI图形设计,(,3,),GUIDE,模板介绍,GUIDE Quick Start,对话框提供了几种常用的,GUI,模板。,11/18/2024,28,第9章 GUI图形设计,(,4,)运行,GUI,单击工具栏最右边的绿色按钮,即运行当前的,GUI,窗口。,11/18/2024,29,第9章 GUI图形设计,3.,创建,GUI,对象,GUI,窗口的布局,改变,GUI,窗口的大小,控件的添加和对齐,GUI,控件的属性控制,属性查看器的显示,一些常用的属性,菜单的添加,主菜单的创建,弹出式菜单的的创建,11/18/2024,30,第9章 GUI图形设计,(,1,),GUI,窗口的布局,改变,GUI,窗口的大小。,在布局编辑器中可以很方便地改变,GUI,中网格区域的大小,只需单击网格区域的右下角,当鼠标变为箭头形式时,拖动鼠标,即可适时改变窗口的大小。,11/18/2024,31,第9章 GUI图形设计,(,2,),GUI,控件的属性控制,属性查看器的显示,用户可以使用如下,3,种方式打开:,在布局窗口中双击某个控件。,在,View,菜单中选择,Property Inspector,选项。,右击某个控件并从弹出的快捷菜单中选择,Inspect Properties,选项。,11/18/2024,32,第9章 GUI图形设计,(,3,)主菜单的创建,1,菜单属性的设置,单击右图中的菜单标题,Untitled 1,,将在菜单编辑器的右边显示该菜单的属性提供给用户进行编辑,如,Label,、,Tag,、,Accelerator,、,Separator,和,Checked,等属性。,11/18/2024,33,第9章 GUI图形设计,(,3,)主菜单的创建,2,给菜单增添菜单项,用户可以使用工具栏上的,New Menu Item,图标给当前菜单增添菜单项。,11/18/2024,34,第9章 GUI图形设计,4.GUI,编 程,GUI,的,M,文件,与句柄结构共享数据,M,文件中的函数和响应,控件的使用,使用句柄结构进行,GUI,数据操作,11/18/2024,35,第9章 GUI图形设计,(,1,)与句柄结构共享数据,当运行,GUI,时,,M,文件创建一个包含所有,GUI,对象,(,如控件、菜单和坐标轴,),
展开阅读全文