《新编MATLAB&Simulink自学一本通》课件第5章 图形用户界面(GUI)编程.pptx

上传人(卖家):momomo 文档编号:5716778 上传时间:2023-05-05 格式:PPTX 页数:157 大小:1.19MB
下载 相关 举报
《新编MATLAB&Simulink自学一本通》课件第5章 图形用户界面(GUI)编程.pptx_第1页
第1页 / 共157页
《新编MATLAB&Simulink自学一本通》课件第5章 图形用户界面(GUI)编程.pptx_第2页
第2页 / 共157页
《新编MATLAB&Simulink自学一本通》课件第5章 图形用户界面(GUI)编程.pptx_第3页
第3页 / 共157页
《新编MATLAB&Simulink自学一本通》课件第5章 图形用户界面(GUI)编程.pptx_第4页
第4页 / 共157页
《新编MATLAB&Simulink自学一本通》课件第5章 图形用户界面(GUI)编程.pptx_第5页
第5页 / 共157页
点击查看更多>>
资源描述

1、2023-5-5主要内容主要内容 图形对象图形对象 图形用户界面的设计原则和步骤图形用户界面的设计原则和步骤 图形用户界面的开发方法图形用户界面的开发方法 直接编写直接编写M文件开发图形用户界面文件开发图形用户界面 利用利用GUIDE工具开发图形用户界面工具开发图形用户界面 典型案例介绍典型案例介绍 2023-5-5第一节第一节 图形对象图形对象2023-5-5 1 1、图形对象:、图形对象:MATLABMATLAB用来显示数据和创建图形用户界面的基本元素。用来显示数据和创建图形用户界面的基本元素。例如:程序界面上的按钮、菜单、工具条等。例如:程序界面上的按钮、菜单、工具条等。2 2、图形对象

2、的标识:、图形对象的标识:使用使用“句柄句柄”来标识每一个图形对象的来标识每一个图形对象的实例实例。通过句。通过句柄,用户就可以找到相应图形对象的各项属性,进而修改柄,用户就可以找到相应图形对象的各项属性,进而修改这些属性,以产生不同的图形呈现效果。这些属性,以产生不同的图形呈现效果。一、图形对象的概念一、图形对象的概念2023-5-5 如右图所示的图形用户界面如右图所示的图形用户界面包括如下图形对象:包括如下图形对象:(1 1)一个)一个坐标轴坐标轴,用来在其中,用来在其中绘图;绘图;(2 2)一个)一个弹出式菜单弹出式菜单,列出,列出MATLABMATLAB中的三个函数:中的三个函数:pe

3、akspeaks、membranemembrane和和sincsinc;(3 3)一个)一个静态文本框静态文本框,提示用,提示用户选择弹出式菜单项;户选择弹出式菜单项;(4 4)三个)三个下压按钮下压按钮,用来调用,用来调用相应的绘图命令来绘制图形。相应的绘图命令来绘制图形。2023-5-5二、二、图形对象的类型图形对象的类型1.图形对象的层次关系图形对象的层次关系 根据图形对象之间的依赖关系,根据图形对象之间的依赖关系,MATLABMATLAB将所有图形对将所有图形对象组织在一个象组织在一个树形结构的层次关系表树形结构的层次关系表中中 ,如下图所示。处,如下图所示。处在树形结构上层的对象是下

4、层对象的在树形结构上层的对象是下层对象的父对象父对象;处在树形结处在树形结构下层的对象是上层对象的构下层的对象是上层对象的子对象子对象。例如:例如:axes对象是对象是figure对象的子对象,或者说对象的子对象,或者说figure对对象是象是axes对象的父对象。对象的父对象。2023-5-5对象类型对象类型父对象父对象对象描述对象描述根对象根对象root无无对应于计算机的屏幕对应于计算机的屏幕图形窗口对象图形窗口对象figureroot屏幕上的一个图形窗口,句柄值是整数,在窗口的标题中给出屏幕上的一个图形窗口,句柄值是整数,在窗口的标题中给出,如,如1、2、3、坐标轴坐标轴axesfigu

5、re在图形窗口中定义一个图形区域,用来描述子对象的位置和方在图形窗口中定义一个图形区域,用来描述子对象的位置和方向向用户控件用户控件uicontrolfigure用户界面控制。当用户点击对象时,用户界面控制。当用户点击对象时,MATLAB完成一个相应的完成一个相应的动作动作用户菜单用户菜单uimenufigure创建一个窗口菜单,用户使用菜单来控制程序运行创建一个窗口菜单,用户使用菜单来控制程序运行现场菜单现场菜单uicontextmenufigure创建与图形对象关联的快捷菜单创建与图形对象关联的快捷菜单图像图像imageaxes用当前的色图矩阵定义一个图像。图像可以有自己的色图用当前的色图

6、矩阵定义一个图像。图像可以有自己的色图灯光灯光lightaxes影响补片和曲面对象的光源影响补片和曲面对象的光源线条线条lineaxes使用使用plot、plot3、contour和和contour3等函数创建的一些简单等函数创建的一些简单的图形的图形补片补片patchaxes创建有边界的填充多边形创建有边界的填充多边形矩形矩形rectangleaxes从椭圆到矩形变化的二维形状从椭圆到矩形变化的二维形状曲面曲面surfaceaxes将数据作为将数据作为x-y平面高度创建的三维矩阵数据描述平面高度创建的三维矩阵数据描述文本文本textaxes字符串,它的位置由其父对象来指定字符串,它的位置由其

7、父对象来指定2、MATLAB图形对象种类图形对象种类 2023-5-5 在进行图形用户界面编程时,用户最关心的是电脑屏幕的在进行图形用户界面编程时,用户最关心的是电脑屏幕的尺寸,用户需要根据电脑屏幕的尺寸(通常用像素点来表示)尺寸,用户需要根据电脑屏幕的尺寸(通常用像素点来表示)来确定图形窗口的尺寸大小。来确定图形窗口的尺寸大小。【例例】在命令窗口中输入命令以查询计算机屏幕的尺寸在命令窗口中输入命令以查询计算机屏幕的尺寸【注】计算机屏幕是一个根对象计算机屏幕是一个根对象(root)(root)。在。在MATLABMATLAB中,可中,可以使用以使用setset和和getget命令来设置它的属性

8、。通常,命令来设置它的属性。通常,rootroot对象的对象的所有属性都采用默认值,用户不必进行修改。所有属性都采用默认值,用户不必进行修改。rootroot对象的句柄值为对象的句柄值为0 0。get(0,Units)%取得表示屏幕尺寸的单位,默认为像素(取得表示屏幕尺寸的单位,默认为像素(pixels)ans=pixels get(0,ScreenSize)%取得屏幕的尺寸,为取得屏幕的尺寸,为1280800像素点像素点ans=1 1 1280 8002023-5-5三、三、图形对象的属性图形对象的属性 图形对象的属性图形对象的属性可以控制对象的外观和行为等许多方面的可以控制对象的外观和行为

9、等许多方面的性质。性质。对象的属性既包括对象的属性既包括对象的一般信息对象的一般信息,例如对象的类型、父,例如对象的类型、父对象和子对象等;又包括对象和子对象等;又包括对象的特定的、独一无二的信息对象的特定的、独一无二的信息,例,例如如figurefigure对象中对鼠标控制的对象中对鼠标控制的WindowButtonDownFcnWindowButtonDownFcn、WindowButtonMotionFcnWindowButtonMotionFcn等属性。等属性。MATLAB MATLAB将图形对象的信息组织成一个将图形对象的信息组织成一个层次表层次表,并将这些信,并将这些信息储存在该对

10、象的属性中。例如,息储存在该对象的属性中。例如,rootroot属性表包括当前图形窗属性表包括当前图形窗口的句柄和当前的指针位置;口的句柄和当前的指针位置;figurefigure属性表包括其子对象的列属性表包括其子对象的列表并始终跟踪窗口中发生的特定事件,等等。表并始终跟踪窗口中发生的特定事件,等等。2023-5-5 一些属性对于所有的图形对象来说具有相同的含义。下表一些属性对于所有的图形对象来说具有相同的含义。下表列出了图形对象的这些共有的属性。列出了图形对象的这些共有的属性。对象类型对象类型对象描述对象描述BusyAction控制控制MATLAB处理特定对象回调函数中断的方法。如果处理特

11、定对象回调函数中断的方法。如果Interruptible设置为设置为off,BusyAction可以有下面几种情况:可以有下面几种情况:queue:此为缺省值。表示将回调函数的中断请求放入一个挂起队列中直到对象的:此为缺省值。表示将回调函数的中断请求放入一个挂起队列中直到对象的回调函数完成;回调函数完成;cancel:忽略其它回调函数所有可能的中断:忽略其它回调函数所有可能的中断ButtonDownFcn定义用鼠标左键点击图形对象时执行的回调函数定义用鼠标左键点击图形对象时执行的回调函数Children保存对象的所有子对象句柄的向量保存对象的所有子对象句柄的向量Clipping图形对象显示模式

12、。图形对象显示模式。on(缺省值):只显示在坐标轴界限内的部分图形对象;(缺省值):只显示在坐标轴界限内的部分图形对象;off:同时显示坐标轴界限内外的部分同时显示坐标轴界限内外的部分CreateFcn创建图形对象时执行的回调函数,常用缺省值创建图形对象时执行的回调函数,常用缺省值DeleteFcn用户销毁图形对象时执行的回调函数用户销毁图形对象时执行的回调函数HandleVisibility控制对象句柄的访问方式。控制对象句柄的访问方式。on:(缺省值),总是可以访问;:(缺省值),总是可以访问;callback:只有回调函数或者调用回调函数的函数可以访问,这样可以防止用户从:只有回调函数或

13、者调用回调函数的函数可以访问,这样可以防止用户从命令行中对图形对象进行修改,以防止误操作;命令行中对图形对象进行修改,以防止误操作;off:不可访问。:不可访问。2023-5-5Interruptible决定回调函数是否可以被随后调用的回调函数中断,有决定回调函数是否可以被随后调用的回调函数中断,有on和和off两两个值可以设置个值可以设置Parent该对象的父对象的句柄该对象的父对象的句柄Selected该对象是否被选中,可以设置为该对象是否被选中,可以设置为on或或offSelectionHighlight定义对象是否使用可见方式表明被选中状态,可以设置为定义对象是否使用可见方式表明被选中

14、状态,可以设置为on(缺省值(缺省值)或者)或者offTag用户用来标识对象的字符串用户用来标识对象的字符串Type对象的类型,是对象的类型,是figure、axes、line或者或者text等等UserData是一个矩阵,包含用户要在对象中保存的数据。矩阵数据并不被对象本是一个矩阵,包含用户要在对象中保存的数据。矩阵数据并不被对象本身使用身使用UIContextMenu和对象相关联的现场菜单句柄。当在对象上点击鼠标右键时,将显示出和对象相关联的现场菜单句柄。当在对象上点击鼠标右键时,将显示出现场菜单现场菜单Visible决定对象是否可见,值可以为决定对象是否可见,值可以为on或者或者off续

15、前表:续前表:2023-5-5 MATLAB为所有对象都设置了为所有对象都设置了缺省值缺省值。用户在创建图形。用户在创建图形对象时,如果没有指定其属性值,则对象时,如果没有指定其属性值,则MATLAB会使用对象的会使用对象的系统缺省属性值来创建对象。可以在命令窗口中使用系统缺省属性值来创建对象。可以在命令窗口中使用get命令命令来查询这些缺省的属性值,来查询这些缺省的属性值,所有缺省属性值均以所有缺省属性值均以factory开头,开头,表示其表示其“出厂出厂”设置设置。【例例】查询出厂设置查询出厂设置get(0,factory)ans=factoryFigureAlphamap:1x64 do

16、uble factoryFigureBusyAction:queue factoryFigureButtonDownFcn:factoryFigureClipping:on factoryFigureCloseRequestFcn:closereq factoryFigureColor:0 0 0 factoryFigureColormap:64x3 double .2023-5-5 用户不仅可以用户不仅可以查询查询当前任意图形对象的属性值,而且可以当前任意图形对象的属性值,而且可以设置设置对象的大多数属性值(某些属性被设置为对象的大多数属性值(某些属性被设置为“只读只读”,用,用户只能查询,

17、不能修改)。户只能查询,不能修改)。属性值只属性值只对对象的特定实例起作用对对象的特定实例起作用,即修改对象的属性值,即修改对象的属性值不会对同类对象、不同实例的属性值产生影响。例如,修改不会对同类对象、不同实例的属性值产生影响。例如,修改坐标轴坐标轴1的刻度值,坐标轴的刻度值,坐标轴2的刻度值则不会受影响,等等。的刻度值则不会受影响,等等。由于是层次结构,所以由于是层次结构,所以某个对象的属性改变时,会影响到某个对象的属性改变时,会影响到这个结构中它以下的对象这个结构中它以下的对象。例如,如果使用鼠标改变图形窗。例如,如果使用鼠标改变图形窗口在电脑屏幕上的位置,线条和坐标轴对象的位置也随之改

18、口在电脑屏幕上的位置,线条和坐标轴对象的位置也随之改变。变。有两种方法可以用来修改对象的属性值:有两种方法可以用来修改对象的属性值:一种是在创建对一种是在创建对象的时候设置;另一种是在创建完成后,通过获得对象的句象的时候设置;另一种是在创建完成后,通过获得对象的句柄,调用柄,调用setset函数来修改对象的属性值。函数来修改对象的属性值。2023-5-5【例例】查询图形对象的属性值查询图形对象的属性值可以通过如下命令查询当前图形对象的缺省属性值。可以通过如下命令查询当前图形对象的缺省属性值。h=gcf;%取得当前图形窗口的句柄取得当前图形窗口的句柄 get(h)%取得当前图形窗口的缺省属性值取

19、得当前图形窗口的缺省属性值结果如下所示:结果如下所示:Alphamap=(1 by 64)double arrayBackingStore=onCloseRequestFcn=closereq%关闭窗口时调用的回调函数关闭窗口时调用的回调函数Color=0.8 0.8 0.8%窗口的背景颜色窗口的背景颜色Colormap=(64 by 3)double arrayCurrentAxes=%当前坐标轴,为当前坐标轴,为(空)表示还未创建坐标轴(空)表示还未创建坐标轴CurrentCharacter=CurrentObject=CurrentPoint=0 0%鼠标当前的位置鼠标当前的位置2023

20、-5-5【例例】修改窗口的颜色为蓝色修改窗口的颜色为蓝色,去掉,去掉figure 1figure 1标识,并将窗标识,并将窗口的名称设置为口的名称设置为“my first figure”my first figure”。h=gcf;%取得当前图形窗口的句柄取得当前图形窗口的句柄 set(h,color,0 0 1);%修改其背景颜色为蓝色修改其背景颜色为蓝色 set(h,numbertitle,off);%去掉去掉figure的数字编号的数字编号 set(h,name,my first figure);%设置设置figure的名称的名称2023-5-5四、四、图形对象的操作图形对象的操作 每一

21、种类型的图形对象都有一个相应的每一种类型的图形对象都有一个相应的创建函数创建函数,这个,这个创建函数使用户能够创建这一类对象的一个实例。创建函数使用户能够创建这一类对象的一个实例。除了在除了在“绘图与可视化绘图与可视化”这一章中提到的二维绘图函数这一章中提到的二维绘图函数(如(如plotplot)、三维绘图函数(如)、三维绘图函数(如plot3plot3)和特殊绘图函数(如)和特殊绘图函数(如stemstem)等函数外,图形窗口对象、坐标轴、用户控件、用户)等函数外,图形窗口对象、坐标轴、用户控件、用户菜单、工具条和现场菜单创建函数以及对句柄的菜单、工具条和现场菜单创建函数以及对句柄的操作函数

22、操作函数列列于下表中于下表中。1、图形对象操作函数、图形对象操作函数2023-5-5函数名称函数名称功能描述功能描述figure创建图形窗口创建图形窗口axes创建坐标轴创建坐标轴line创建线条创建线条uicontrol创建用户界面控件创建用户界面控件uimenu创建用户界面菜单创建用户界面菜单uicontextmenu创建图形对象的右键弹出式菜单创建图形对象的右键弹出式菜单uitoolbar创建在图形窗口顶部显示的工具条创建在图形窗口顶部显示的工具条uipushtool在工具条上创建下压按钮在工具条上创建下压按钮uitoggletool在工具条上创建开关按钮在工具条上创建开关按钮uipan

23、el在图形窗口上创建面板对象在图形窗口上创建面板对象uibuttongroup在图形窗口上创建按钮组对象在图形窗口上创建按钮组对象2023-5-5set设置对象的属性设置对象的属性get获取对象的属性获取对象的属性findobj根据对象的属性值查找对象的句柄根据对象的属性值查找对象的句柄delete删除对象删除对象gco获取当前鼠标所点击的对象的句柄获取当前鼠标所点击的对象的句柄gcbo获取当前回调函数对应的对象的句柄获取当前回调函数对应的对象的句柄gcf获取当前图形窗口对象的句柄获取当前图形窗口对象的句柄gca获取当前坐标轴对象的句柄获取当前坐标轴对象的句柄clf清空当前图形窗口上的对象清空

24、当前图形窗口上的对象cla清除当前坐标轴上的对象清除当前坐标轴上的对象close关闭当前窗口关闭当前窗口Copyobj拷贝图形对象拷贝图形对象2023-5-5 gco、gcbo、gcf和和gca是是get函数的助记符,其含义如下:函数的助记符,其含义如下:(1)gco回当前图形窗口对象的回当前图形窗口对象的CurrentObject属性值,相当于属性值,相当于get(gcf,CurrentObject);(2)gcbo返回根对象的返回根对象的CallbackObject属性值,相当于属性值,相当于get(0,CallbackObject);(3)gcf返回根对象的返回根对象的CurrentFi

25、gure属性值,相当于属性值,相当于get(0,CurrentFigure);(4)gca返回当前图形窗口对象的返回当前图形窗口对象的CurrentAxes属性值,相当于属性值,相当于get(gcf,CurrentAxes)2、常用助记符、常用助记符3、常用操作函数:、常用操作函数:set和和get 在在MATLABMATLAB中,有两个基本命令用来处理图形对象:中,有两个基本命令用来处理图形对象:getget和和setset。通过使用这两个命令,可以。通过使用这两个命令,可以设置和修改指定对象的属性值。设置和修改指定对象的属性值。2023-5-5【例例】利用利用setset和和getget来

26、设置和查询图形对象的属性来设置和查询图形对象的属性set(fh,Pointer)%Pointer属性标识鼠标指针的形状,属性标识鼠标指针的形状,arrow表示默认的指针形状表示默认的指针形状 crosshair|fullcrosshair|arrow|ibeam|watch|topl|topr|botl|botr|left|top|right|bottom|circle|cross|fleur|custom|hand(1)查看图形窗口对象的大小和位置的度量单位)查看图形窗口对象的大小和位置的度量单位%使用缺省的属性创建一个图形窗口对象使用缺省的属性创建一个图形窗口对象fh=figure;get

27、(fh,units)%查看度量单位查看度量单位ans=pixels(2)改变窗口的大小和位置)改变窗口的大小和位置%将窗口的左下角移动到点(将窗口的左下角移动到点(200,300)处,大小设置为)处,大小设置为400300像素点像素点set(fh,Position,200 300 400 300);可以看到可以看到,图形窗口在屏幕上的位置和大小均发生了改变。,图形窗口在屏幕上的位置和大小均发生了改变。(3)查看可以设置的鼠标指针的形状)查看可以设置的鼠标指针的形状2023-5-5【例例】图形对象操作简单示例程序程序运行界面如下图所示:程序运行界面如下图所示:2023-5-51.关于函数关于函数

28、M文件文件 代码的起始部分有如下语句代码的起始部分有如下语句“function =ex5_4()”function =ex5_4()”,此语句表明将该文件声明为此语句表明将该文件声明为函数函数M M文件文件,functionfunction是声明函是声明函数数M M文件时必须使用的关键字,文件时必须使用的关键字,ex5_4ex5_4为函数的名称,为函数的名称,()()和和内分别包含函数的输入和输出参数,为空表示函数不带输入内分别包含函数的输入和输出参数,为空表示函数不带输入和输出参数。和输出参数。如果函数需要输入和输出参数,可以这样声明:如果函数需要输入和输出参数,可以这样声明:functio

29、n out1,out2,.=ex5_4(in1,in2,.)function out1,out2,.=ex5_4(in1,in2,.)函数的输入和输出参数的个数不受限制函数的输入和输出参数的个数不受限制。2023-5-52.关于结构变量关于结构变量S 程序中的变量程序中的变量S S定义为结构体,又称为定义为结构体,又称为“句柄结构句柄结构”,该结构体包含了界面上所有图形对象的句柄,这样做的目的该结构体包含了界面上所有图形对象的句柄,这样做的目的有两个:一是为了代码的简洁,二是便于各图形对象的句柄有两个:一是为了代码的简洁,二是便于各图形对象的句柄在各回调函数之间的传递。这是编程时的习惯做法。在

30、各回调函数之间的传递。这是编程时的习惯做法。S.fhS.fh、S.textS.text、S.popS.pop和和S.axesS.axes是是结构体结构体S S的字段的字段,分别保,分别保存图形窗口对象的句柄、文本对象的句柄、弹出式菜单对存图形窗口对象的句柄、文本对象的句柄、弹出式菜单对象的句柄和坐标轴对象的句柄。象的句柄和坐标轴对象的句柄。2023-5-53.弹出式菜单的弹出式菜单的Callback属性属性 在在MATLABMATLAB中,将图形对象的中,将图形对象的CallbackCallback属性设置为属性设置为函数句函数句柄的形式柄的形式,可以将主函数和回调函数的代码保存到同一个函,可

31、以将主函数和回调函数的代码保存到同一个函数数M M文件中。每一个函数文件中。每一个函数M M文件都只有一个主函数,这个主函文件都只有一个主函数,这个主函数位于文件的开头,其余函数都是子函数。数位于文件的开头,其余函数都是子函数。在示例程序中,设置弹出式菜单的回调函数为在示例程序中,设置弹出式菜单的回调函数为mycallbackmycallback,并把句柄结构并把句柄结构S S作为参数传递给它作为参数传递给它,以方便在子函数中通过,以方便在子函数中通过句柄结构对界面上的图形对象进行控制。例如,可以使用句柄结构对界面上的图形对象进行控制。例如,可以使用setset命令来改变线条对象的颜色属性,等

32、等。命令来改变线条对象的颜色属性,等等。2023-5-54.图形对象的图形对象的Position属性属性 figurefigure、axesaxes、texttext和和popupmenupopupmenu等图形对象都有等图形对象都有PositionPosition属性,用来确定图形对象的位置和大小。属性,用来确定图形对象的位置和大小。Position Position定义了一个矩形区域,来确定图形对象的位置定义了一个矩形区域,来确定图形对象的位置和大小:和大小:rect=left,bottom,width,height rect=left,bottom,width,height leftle

33、ft和和bottombottom表示图形对象矩形区域的左下角在其父对象表示图形对象矩形区域的左下角在其父对象中的坐标,中的坐标,figurefigure的父对象是电脑屏幕(的父对象是电脑屏幕(rootroot对象),对象),axesaxes、texttext和和popupmenupopupmenu的父对象是的父对象是figurefigure。widthwidth和和 heightheight确定了矩形区域的宽度和高度。确定了矩形区域的宽度和高度。2023-5-5 下图标识了下图标识了figurefigure窗口在屏幕上的位置窗口在屏幕上的位置,其左下角相对于,其左下角相对于屏幕的左下角的位置矢

34、量如图中的红色屏幕的左下角的位置矢量如图中的红色“”型虚线所示;界型虚线所示;界面上的面上的EditEdit控件相对于控件相对于figurefigure窗口的位置矢量如图中的黑色窗口的位置矢量如图中的黑色“*”型虚线所示;文本框和坐标轴的位置也在图中做了标注。型虚线所示;文本框和坐标轴的位置也在图中做了标注。2023-5-55.曲线的曲线的Color属性属性 在在MATLABMATLAB的帮助文件中,的帮助文件中,LineLine对象的对象的ColorColor属性值为属性值为ColorSpecColorSpec。ColorSpecColorSpec指的是在指的是在MATLABMATLAB中定

35、义颜色的三种方中定义颜色的三种方式:式:RGBRGB三元素行向量三元素行向量;简称简称;全称全称。RGB RGB向量中个元素的取值在向量中个元素的取值在0101之间,分别表示之间,分别表示redred(红(红色)、色)、greengreen(绿色)和(绿色)和blueblue(蓝色)所占的比重。(蓝色)所占的比重。MATLABMATLAB中有中有8 8中预定义的颜色,列于下表中。中预定义的颜色,列于下表中。2023-5-5RGB值值简称简称全称全称含义含义1 0 0Rred红色红色0 1 0Ggreen绿色绿色0 0 1Bblue蓝色蓝色0 1 1Ccyan青绿色青绿色1 0 1mmagent

36、a紫红色紫红色1 1 0yyellow黄色黄色1 1 1wwhite白色白色0 0 0kblack黑色黑色2023-5-56.使用使用propedit属性编辑器编辑图形对象的属性属性编辑器编辑图形对象的属性 除了使用除了使用setset和和getget命令来设置和查询图形对象的属性外,命令来设置和查询图形对象的属性外,MATLABMATLAB还提供了一个图形用户界面的还提供了一个图形用户界面的属性编辑器属性编辑器,利用它可,利用它可方便地对图形用户界面上对象的属性进行设置修改。方便地对图形用户界面上对象的属性进行设置修改。在命令窗口中输入下列命令,即可显示属性编辑器。在命令窗口中输入下列命令,

37、即可显示属性编辑器。propeditpropedit2023-5-5下图是属性编辑器的界面。下图是属性编辑器的界面。Figure NameFigure Name是显示在窗口标题栏中的名称;是显示在窗口标题栏中的名称;Show Figure NumberShow Figure Number如果被勾选,则在窗口的名称前显示窗口的编号,图如果被勾选,则在窗口的名称前显示窗口的编号,图中的中的Figure 2Figure 2:ex5_4ex5_4;ColormapColormap表示图形窗口使用的色图矩阵,有表示图形窗口使用的色图矩阵,有1313种预种预定义的色图矩阵,此外,用户可以定义自己的色图矩阵

38、;点击定义的色图矩阵,此外,用户可以定义自己的色图矩阵;点击More More Properties.Properties.按钮,可以打开按钮,可以打开InspectorInspector窗口,用户可以查看和修改更多窗口,用户可以查看和修改更多的属性值;的属性值;Export SetupExport Setup按钮可以导出设置好的按钮可以导出设置好的figurefigure窗口并可以保存窗口并可以保存为为.fig.fig、.bmp.bmp、.jpg.jpg等图片文件。等图片文件。2023-5-5第二节第二节 图形用户界面的图形用户界面的设计原则和步骤设计原则和步骤2023-5-51 1简单性简

39、单性一、一、图形用户界面设计原则图形用户界面设计原则设计界面时,应力求简洁、直接、清晰地体现出界面的功设计界面时,应力求简洁、直接、清晰地体现出界面的功能和特征。能和特征。只在界面上显示最终的、最关键的、最重要的信只在界面上显示最终的、最关键的、最重要的信息息,以保持界面的整洁。,以保持界面的整洁。要正确地使用图形的表达能力。要正确地使用图形的表达能力。设计界面时要合理地采用设计界面时要合理地采用图形表示图形表示,滥用图形表示有时会造成画面混乱,反而不便于,滥用图形表示有时会造成画面混乱,反而不便于用户使用。用户使用。设计界面应设计界面应尽量减少窗口数目尽量减少窗口数目,力求避免在不同窗口之间

40、,力求避免在不同窗口之间进行来回切换。进行来回切换。2023-5-52 2一致性一致性 人机界面的一致性主要体现在人机界面的一致性主要体现在输入、输出方面的一致性输入、输出方面的一致性。具体是指在应用程序的不同部分,甚至不同的应用程序之间,具体是指在应用程序的不同部分,甚至不同的应用程序之间,具有相似的界面外观和不具,相似的人机交互方式以及相似具有相似的界面外观和不具,相似的人机交互方式以及相似的信息显示格式等。的信息显示格式等。例如:例如:凡是下拉菜单或者弹出式菜单都凡是下拉菜单或者弹出式菜单都有同样的结构和操作方法;各种类型信息(包括结果信息、有同样的结构和操作方法;各种类型信息(包括结果

41、信息、提示信息、错误信息、帮助信息等)都在确定的屏幕位置和提示信息、错误信息、帮助信息等)都在确定的屏幕位置和以相似的格式显示等。以相似的格式显示等。一致性原则有助于用户学习,减少用户的学习量和记忆量,一致性原则有助于用户学习,减少用户的学习量和记忆量,有助于用户将局部的经验知识推广到其它的场合下应用。有助于用户将局部的经验知识推广到其它的场合下应用。2023-5-53 3熟悉性熟悉性 设计新的图形界面时,设计新的图形界面时,应尽量使用人们所熟悉的标志和符应尽量使用人们所熟悉的标志和符号号。用户可能并不了解新界面的具体含义及操作方法,但。用户可能并不了解新界面的具体含义及操作方法,但完全可以根

42、据自己所熟悉的标志来摸索界面的使用。完全可以根据自己所熟悉的标志来摸索界面的使用。4 4系统要给用户提供反馈信息系统要给用户提供反馈信息 要通过图形界面及时对用户的操作作出反应,要通过图形界面及时对用户的操作作出反应,给出反馈信给出反馈信息息,以便于用户确定其操作是否正确,操作的结果是什么。,以便于用户确定其操作是否正确,操作的结果是什么。如果执行某个命令或功能需要耗费较长的时间,需要如果执行某个命令或功能需要耗费较长的时间,需要给出给出操作完成剩余的时间等信息操作完成剩余的时间等信息,便于用户及时掌握程序运行,便于用户及时掌握程序运行的进度。同时,系统可以的进度。同时,系统可以允许用户中断正

43、在进行的运算允许用户中断正在进行的运算。2023-5-55 5用户界面应具有容错能力用户界面应具有容错能力 在用户输入、调试运行程序时难免会出错,此外,计算在用户输入、调试运行程序时难免会出错,此外,计算机的软件或硬件系统也可能出错。因此,机的软件或硬件系统也可能出错。因此,用户界面应具有容用户界面应具有容错能力,应能及时给出出错信息,出错信息应清楚、易理解。错能力,应能及时给出出错信息,出错信息应清楚、易理解。同时,用户界面应具有保护功能,防止因用户的误操作而破同时,用户界面应具有保护功能,防止因用户的误操作而破坏系统的运行状态和信息存储坏系统的运行状态和信息存储。此外,图形用户界面此外,图

44、形用户界面应提供帮助功能应提供帮助功能,便于用户学习和,便于用户学习和使用系统,等等。使用系统,等等。2023-5-51 1确定对界面的要求和使用环境确定对界面的要求和使用环境 二、二、图形用户界面设计步骤图形用户界面设计步骤 一个图形用户界面的优劣,很大程度上取决于用户的使用评一个图形用户界面的优劣,很大程度上取决于用户的使用评价。因此,价。因此,在系统开发的最初阶段,尤其要重视系统界面部在系统开发的最初阶段,尤其要重视系统界面部分的用户需求分的用户需求,了解用户的技能和经验,综合考虑系统直接,了解用户的技能和经验,综合考虑系统直接的或潜在的用户需求,同时要考虑图形用户界面运行所必需的或潜在

45、的用户需求,同时要考虑图形用户界面运行所必需的的软、硬件环境软、硬件环境。2023-5-52 2分析界面功能,明确设计任务分析界面功能,明确设计任务 在设计界面之前,需要仔细考虑界面的外观和要完成的功在设计界面之前,需要仔细考虑界面的外观和要完成的功能。能。可以围绕可以围绕“信息输入信息输入-信息处理信息处理-信息输出信息输出”这样一条主线,这样一条主线,理清哪些信息或参数是需要通过图形界面输入,以何种方式理清哪些信息或参数是需要通过图形界面输入,以何种方式输入;在程序运行过程中会产生哪些中间信息,哪些中间信输入;在程序运行过程中会产生哪些中间信息,哪些中间信息是有必要呈现给用户的;程序运行结

46、束后会产生哪些结果,息是有必要呈现给用户的;程序运行结束后会产生哪些结果,这些结果以何种方式在界面上体现。这些结果以何种方式在界面上体现。2023-5-53 3建立界面模型建立界面模型 根据系统的功能以及输入、输出信息,选择合适的控件,对根据系统的功能以及输入、输出信息,选择合适的控件,对界面进行合理的布局,构建图形界面进行合理的布局,构建图形用户界面草图用户界面草图,并反复推敲、,并反复推敲、修改,直至获得满意的效果。修改,直至获得满意的效果。4 4根据界面模型完成图形界面的开发根据界面模型完成图形界面的开发 根据确定的界面模型,选择合适的界面开发方法,根据确定的界面模型,选择合适的界面开发

47、方法,逐步细化逐步细化完成界面的开发完成界面的开发。2023-5-5第三节第三节开发图形用户界面的方法开发图形用户界面的方法 2023-5-5两种开发图形用户界面程序的方法:两种开发图形用户界面程序的方法:一是以基本的一是以基本的MATLABMATLAB程序开发为主,直接编写程序开发为主,直接编写M M文件;文件;二是以鼠标为主通过二是以鼠标为主通过MATLABMATLAB提供的提供的GUIDEGUIDE集成开发环境进行。集成开发环境进行。2023-5-51 1简介简介 一、一、直接编写直接编写M文件的方法文件的方法该方法以该方法以句柄图形(句柄图形(Handle GraphicsHandle

48、 Graphics)的概念为基础,依据的概念为基础,依据前面所讲的图形对象的相关知识,通过编写前面所讲的图形对象的相关知识,通过编写MATLABMATLAB代码,调代码,调用图形对象的操作函数来用图形对象的操作函数来创建、操作创建、操作图形对象,图形对象,设置设置图形对图形对象的有关属性,象的有关属性,定义定义有关图形对象的相关回调函数,有关图形对象的相关回调函数,开发开发出出满足要求的图形用户界面。满足要求的图形用户界面。2 2特点特点 以编写纯代码的形式进行的,需要用户熟练掌握图形对以编写纯代码的形式进行的,需要用户熟练掌握图形对象的相关知识,需要较多的编程技巧。象的相关知识,需要较多的编

49、程技巧。2023-5-5过程比较明晰,代码编写较为灵活,代码执行效率高,过程比较明晰,代码编写较为灵活,代码执行效率高,整个程序整个程序只包含一个只包含一个M文件文件。用户需要事先对界面的用户需要事先对界面的格式及布局进行细致的规划格式及布局进行细致的规划,尤,尤其是要准确计算各图形对象在界面上的位置,以便正确确其是要准确计算各图形对象在界面上的位置,以便正确确定其定其Position属性的值。可能需要多次修改代码以修改对象属性的值。可能需要多次修改代码以修改对象的属性值,以便得到满意的图形界面效果,的属性值,以便得到满意的图形界面效果,需要占用较多需要占用较多的开发时间的开发时间。2023-

50、5-51 1简介简介 二、二、利用利用MATLAB提供的提供的GUIDE界面开发工具界面开发工具 GUIDE(Graphical User Interface Development Environment)是)是MATLAB提供的一个专门用于提供的一个专门用于GUI程序设计的程序设计的快速开发环境快速开发环境。GUIDE是一个界面设计工具集,是一个界面设计工具集,MATLAB将所有将所有GUI支持的用户控支持的用户控件都集成在这个开发环境中,并提供界面外观、属性和事件响应方式的设件都集成在这个开发环境中,并提供界面外观、属性和事件响应方式的设置方法。用户不需要编写任何代码,即可以通过鼠标的简

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《新编MATLAB&Simulink自学一本通》课件第5章 图形用户界面(GUI)编程.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|