欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Matlab的图形用户界面GUI.ppt

    • 资源ID:55133526       资源大小:1.17MB        全文页数:55页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Matlab的图形用户界面GUI.ppt

    1第七章第七章 MatlabMatlab的图形用户界面的图形用户界面GUIGUIGUIGUI设计工具简介设计工具简介 GUIGUI向导设计向导设计GUIGUI程序设计程序设计 2第一节第一节 GUIGUI设计工具简介设计工具简介 通常在开发一个应用程序时都会尽量做到界面友好、直观。最常用的方法就是使用图形用户界面。在Matlab中,图形用户界面是一个包含多种对象的图形窗口。用户必须对功能对象进行界面布局和编程,从而使用户在激活GUI的功能对象时能够执行相应的行为。Matlab为用户开发图形界面提供了一个方便、高效的集成开发环境GUIDEGUIDE(Graphic User Interface Graphic User Interface Development EnvironmentDevelopment Environment)。GUIDE主要是一个界面设计工具集,Matlab将所有GUI的控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法。GUIDE将用户设计好的GUI界面保存在一个FIG文件中,同时还自动生成一个包含GUI初始化和组件界面布局控制代码的M文件。这个M文件为实现回调函数(当用户激活GUI某一个组件时执行的函数)提供了一个参考框架,这样既简化了GUI应用程序的创建工作,用户又可以直接使用这个框架来编写自己的函数代码。3整个整个GUIGUI的实现过程可以分为以下几步:的实现过程可以分为以下几步:使用界面设计编辑器进行GUI界面布局设计;理解应用程序M文件中所使用的编程技术;编写GUI组件行为响应控制(即回调函数)代码。一、启动一、启动GUIDEGUIDE 在Matlab中,GUIDE提供了多种设计模板以方便用户使用GUI。这些模板均包含相关的回调函数,用户可以打开它所对应的M文件,看到它们的工作方式,或修改相应的函数,从而实现自己需要的功能。在Matlab 中,可以通过如下两种方法来访问模板:直接输入“guide”命令,打开如图7-1所示的界面;通过File菜单中的New选项也可以打开GUI模板界面。4图图7-1 7-1 进进入入GUIGUI的初始界面的初始界面5 在创建新的在创建新的GUIGUI时,时,Matlab Matlab 提供了空白模板、带有控制按钮提供了空白模板、带有控制按钮的模板、带有坐标轴和菜单的模板以及问答式对话框的模板、带有坐标轴和菜单的模板以及问答式对话框4 4种模板。其种模板。其中空白模板如图中空白模板如图7-27-2所示:所示:图图7-2 7-2 空白界面空白界面编辑编辑器外器外观图观图6二、用户界面控件对象介绍二、用户界面控件对象介绍 在空白模板中在空白模板中GUIDEGUIDE提供了用户界面控件以及界面设计提供了用户界面控件以及界面设计工具集来实现用户界面的创建工作,用户界面控件分布在界工具集来实现用户界面的创建工作,用户界面控件分布在界面编辑器的左侧,下面我们对各控件加以介绍。面编辑器的左侧,下面我们对各控件加以介绍。:按钮(:按钮(Push ButtonPush Button),是小的矩形面,在其上),是小的矩形面,在其上面标有说明该按钮功能的文本。将鼠标指针移动至按钮,单面标有说明该按钮功能的文本。将鼠标指针移动至按钮,单击鼠标,按钮被按下随即自动弹起,并执行回调程序。击鼠标,按钮被按下随即自动弹起,并执行回调程序。按钮的按钮的“Style”Style”属性的默认值是属性的默认值是“pushbotton”pushbotton”。7 :开关按钮开关按钮(Toggle Button)(Toggle Button)和一般按钮形状相和一般按钮形状相同,区别在于它有两种状态,用鼠标单击按钮,它会从一同,区别在于它有两种状态,用鼠标单击按钮,它会从一种状态变成另一种状态,并执行相应的回调程序(两种状种状态变成另一种状态,并执行相应的回调程序(两种状态各对应不同的回调程序)。态各对应不同的回调程序)。按钮按钮“开开”时,时,ValueValue属性的值为在属性的值为在MaxMax属性中指定的值;属性中指定的值;按钮按钮“关关”时,时,ValueValue属性的值为在属性的值为在MinMin属性中指定的值。属性中指定的值。按钮的按钮的“Style”Style”属性的默认值是属性的默认值是“togglebutton”togglebutton”。:编辑框:编辑框(Edit Text)(Edit Text),允许用户动态地编辑文本,允许用户动态地编辑文本字符串或数字,就象使用文本编辑器或文字处理器一样。字符串或数字,就象使用文本编辑器或文字处理器一样。编辑框一般用于让用户输入或修改文本字符串和数字。编辑框一般用于让用户输入或修改文本字符串和数字。编辑框的编辑框的“String”String”属性属性“的默认值是的默认值是“Edit TextEdit Text”。8 :单选按钮单选按钮(Radio Button)(Radio Button),又称无线按,又称无线按钮,它由一个标注字符串(在钮,它由一个标注字符串(在“String”String”属性属性中设置)和字符串左侧的一个小圆圈组成。当它中设置)和字符串左侧的一个小圆圈组成。当它被选择时,圆圈被填充一个黑点,且属性被选择时,圆圈被填充一个黑点,且属性“Value”Value”的值为的值为“1”1”;若未被选择,圆圈为空,;若未被选择,圆圈为空,属性的属性的“Value”Value”值为值为“0”0”。单选按钮一般用于在一组互斥的选项中选择单选按钮一般用于在一组互斥的选项中选择一项。为了确保互斥性,各单选按钮的回调程序一项。为了确保互斥性,各单选按钮的回调程序需要将其它各项的需要将其它各项的“Value”Value”值设为值设为“0”0”。单选按钮单选按钮“style”style”的属性的默认值是的属性的默认值是“Radio Radio Button”Button”。9 :弹出式菜单弹出式菜单(Pop-up Menu)(Pop-up Menu),向用户提出互斥的一,向用户提出互斥的一系列选项清单,用户可以选择其中的某一项。弹出式菜单系列选项清单,用户可以选择其中的某一项。弹出式菜单下拉式菜单,它不受菜单条的限制,可以位于图形窗口内下拉式菜单,它不受菜单条的限制,可以位于图形窗口内的任何位置。的任何位置。通常状态下,弹出式菜单以矩形的形式出现,矩形中通常状态下,弹出式菜单以矩形的形式出现,矩形中含有当前选择的选项,在选项右侧有一个向下的箭头来表含有当前选择的选项,在选项右侧有一个向下的箭头来表明该对象是一个弹出式菜单。当指针处在弹出式菜单的箭明该对象是一个弹出式菜单。当指针处在弹出式菜单的箭头之上并按下鼠标时,出现所有选项。移动指针到不同的头之上并按下鼠标时,出现所有选项。移动指针到不同的选项,单击鼠标左键就选中了该选项,同时关闭弹出式菜选项,单击鼠标左键就选中了该选项,同时关闭弹出式菜单,显示新的选项。单,显示新的选项。选择一个选项后,弹出式菜单的选择一个选项后,弹出式菜单的“Value”Value”属性值为该属性值为该选项的序号。选项的序号。弹出式菜单的弹出式菜单的“Style”Style”属性的默认值是属性的默认值是“popupmenu”popupmenu”,在,在“string”string”属性中设置弹出式菜单的选属性中设置弹出式菜单的选项字符串,在不同的选项之间用项字符串,在不同的选项之间用“|”|”分隔,类似于换行。分隔,类似于换行。:10 :图文框图文框(Panel)(Panel),图文框是填充的矩形区域。一般用来,图文框是填充的矩形区域。一般用来把其它控件放入图文框中,组成一组。图文框本身没有回调程把其它控件放入图文框中,组成一组。图文框本身没有回调程序。注意序。注意只有用户界面控件可以在图文框中显示只有用户界面控件可以在图文框中显示。由于图文框。由于图文框是不透明的,因而定义图文框的顺序就很重要,必须先定义图是不透明的,因而定义图文框的顺序就很重要,必须先定义图文框,然后定义放到图文框中的控件。因为先定义的对象先画,文框,然后定义放到图文框中的控件。因为先定义的对象先画,后定义的对象后画,后画的对象覆盖到先画的对象上。后定义的对象后画,后画的对象覆盖到先画的对象上。:静态文本框静态文本框(text)(text),静态文本框用来显示文本字符串,静态文本框用来显示文本字符串,该字符串内容由属性该字符串内容由属性“string”string”确定。静态文本框之所以称确定。静态文本框之所以称为为“静态静态”,是因为文本不能被动态的修改,而只能通过改,是因为文本不能被动态的修改,而只能通过改变变“String”String”属性来更改。静态文本框一般用于显示标记、属性来更改。静态文本框一般用于显示标记、提示信息及当前值。静态文本框的提示信息及当前值。静态文本框的“Style”Style”属性的默认值是属性的默认值是“text”text”。:11 :列表框列表框(listbox)(listbox),列表框列出一些选项的清单,列表框列出一些选项的清单,并允许用户选择其中的一个或多个选项,一个或多个的模并允许用户选择其中的一个或多个选项,一个或多个的模式由式由MinMin和和MaxMax属性控制。属性控制。Value Value 属性的值为被选中选项的属性的值为被选中选项的序号,同时也指示了选中选项的个数。序号,同时也指示了选中选项的个数。当单击鼠标按钮选中该项后,当单击鼠标按钮选中该项后,ValueValue属性的值被改变,属性的值被改变,释放鼠标按钮的时候释放鼠标按钮的时候MatlabMatlab执行列表框的回调程序。执行列表框的回调程序。列表框的列表框的“Style”Style”属性的默认值是属性的默认值是“listbox”listbox”。:复选框复选框(checkbox)(checkbox),又称检查框,它由一个标注,又称检查框,它由一个标注字符串(在字符串(在“String”String”属性中设置)和字符串左侧的一个属性中设置)和字符串左侧的一个小方框所组成。选中时在方框内添加小方框所组成。选中时在方框内添加“”“”符号,符号,“Value”Value”属性值设为属性值设为“1”1”;未选中时方框变空,;未选中时方框变空,“Value”Value”属性值设为属性值设为“0”0”。复选框一般用于表明选项的。复选框一般用于表明选项的状态或属性。状态或属性。12 :滑动条滑动条(slider)(slider),又称滚动条,包括三个部分,分别是滑动槽,又称滚动条,包括三个部分,分别是滑动槽,表示取值范围;滑动槽内的滑块,代表滑动条的当前值;以及在滑动条表示取值范围;滑动槽内的滑块,代表滑动条的当前值;以及在滑动条两端的箭头,用于改变滑动条的值。两端的箭头,用于改变滑动条的值。滑动条一般用于从一定的范围中取值。改变滑动条的值有三种方式,滑动条一般用于从一定的范围中取值。改变滑动条的值有三种方式,一种是用鼠标指针拖动滑块,在滑块位于期望位置后放开鼠标;另一种一种是用鼠标指针拖动滑块,在滑块位于期望位置后放开鼠标;另一种是当指针处于滑块槽中但不在滑块上时,单击鼠标按钮,滑块沿该方向是当指针处于滑块槽中但不在滑块上时,单击鼠标按钮,滑块沿该方向移动一定距离,距离的大小在属性移动一定距离,距离的大小在属性“SliderStep”SliderStep”中设置,缺省情况下中设置,缺省情况下等于整个范围的等于整个范围的10%10%;第三种方式是在滑块条的某一端用鼠标单击箭头,;第三种方式是在滑块条的某一端用鼠标单击箭头,滑块沿着箭头的方向移动一定的距离,距离的大小在属性滑块沿着箭头的方向移动一定的距离,距离的大小在属性“SliderStep”SliderStep”中设置,缺省情况下为整个范围的中设置,缺省情况下为整个范围的1%1%。滑动条的滑动条的“Style”Style”属性的默认值是属性的默认值是“slider”slider”:按钮组(:按钮组(Button GroupButton Group),放到按钮组中的多个单选按钮具有),放到按钮组中的多个单选按钮具有排它性,但与按钮组外的单选按钮无关。制作界面时常常会遇到有几组排它性,但与按钮组外的单选按钮无关。制作界面时常常会遇到有几组参数具有排它性的情况,即每一组中只能选择一种情况。此时,可以用参数具有排它性的情况,即每一组中只能选择一种情况。此时,可以用几组按钮组表示这几组参数,每一组单选按钮放到一个按钮组控件中。几组按钮组表示这几组参数,每一组单选按钮放到一个按钮组控件中。13图图7-3 7-3 带带有控件的有控件的图图形界面形界面编辑编辑器外器外观图观图三、几何位置排列工具三、几何位置排列工具14利用对象对齐工具,可以很方便地对对象设计编辑器中设计区内多个对象的位置利用对象对齐工具,可以很方便地对对象设计编辑器中设计区内多个对象的位置进行调整。从对象设计编辑器界面的工具栏上选择按钮,或者选择进行调整。从对象设计编辑器界面的工具栏上选择按钮,或者选择“Tools”Tools”菜单菜单下的下的“Align Objects.”Align Objects.”选项,可以打开对象位置调整器,如图选项,可以打开对象位置调整器,如图7-47-4所示:所示:图图 7-4 7-4 排列工具排列工具栏栏外外观图观图利用对象对齐工具,可以设置对象在垂直方向和水平方向上的对齐方式和间距。利用对象对齐工具,可以设置对象在垂直方向和水平方向上的对齐方式和间距。选中多个对象后,可以方便地通过对象对齐工具进行调整。选中多个对象后,可以方便地通过对象对齐工具进行调整。上半部分为垂直方向调整控制区,下面为水平方向调整控制区。将在下节上半部分为垂直方向调整控制区,下面为水平方向调整控制区。将在下节GUIGUI的的向导设计中进一步熟悉排列工具的使用。向导设计中进一步熟悉排列工具的使用。15四、用属性编辑器设置控件属性四、用属性编辑器设置控件属性利用对象属性编辑器,可以查看、修改和设置每个对象的属性值,在对象设计利用对象属性编辑器,可以查看、修改和设置每个对象的属性值,在对象设计编辑器界面工具栏上选择编辑器界面工具栏上选择“View”View”下的下的“Inspect Properties”Inspect Properties”选项,可以选项,可以打开对象属性编辑器。另外,在打开对象属性编辑器。另外,在MatlabMatlab命令窗口的命令行输入命令窗口的命令行输入inspectinspect,也可,也可以打开对象属性编辑器。对象属性编辑器如图以打开对象属性编辑器。对象属性编辑器如图7-57-5所示:所示:图图7-5 7-5 属性属性编辑编辑器外器外观图观图16五、菜单编辑器五、菜单编辑器利用菜单编辑器,可以创建、设置、修改下拉式菜单和弹出式菜单。在利用菜单编辑器,可以创建、设置、修改下拉式菜单和弹出式菜单。在GUIDEGUIDE中单击工具栏上的按钮,或者选择中单击工具栏上的按钮,或者选择“Tools”Tools”菜单中的菜单中的“Menu Menu Editor”Editor”选项,打开菜单编辑器的界面,如图选项,打开菜单编辑器的界面,如图7-67-6所示:所示:图图 7-6 7-6 菜菜单编辑单编辑器界面器界面图图GUIDEGUIDE能够创建两种类型的菜单。一种是在图形窗口菜单栏中显示的菜能够创建两种类型的菜单。一种是在图形窗口菜单栏中显示的菜单栏菜单;另一种是当用户在图形对象上单击鼠标右键时产生的上下单栏菜单;另一种是当用户在图形对象上单击鼠标右键时产生的上下文菜单。可以使用菜单编辑器来创建这两种类型的菜单。文菜单。可以使用菜单编辑器来创建这两种类型的菜单。171 1创建菜单栏菜单创建菜单栏菜单图图7-67-6中左上角第一个按钮用于创建下拉式菜单。用户可以通过点击它来创建下拉中左上角第一个按钮用于创建下拉式菜单。用户可以通过点击它来创建下拉式主菜单;第二个按钮用于创建下拉式菜单的子菜单,在选中已经创建的下拉式式主菜单;第二个按钮用于创建下拉式菜单的子菜单,在选中已经创建的下拉式菜单后,可以单击这个按钮来创建选中的下拉式主菜单的子菜单。选中创建的某菜单后,可以单击这个按钮来创建选中的下拉式主菜单的子菜单。选中创建的某个下拉式菜单后,菜单编辑器的右边就会出现显示该菜单的有关属性,用户可以个下拉式菜单后,菜单编辑器的右边就会出现显示该菜单的有关属性,用户可以在这里设置、修改菜单的属性。在这里设置、修改菜单的属性。图图 7-7 7-7 下拉式菜下拉式菜单创单创建建图图182 2 创建上下文菜单创建上下文菜单利用菜单编辑器创建上下文菜单对象后,当用户在图形对象上单击鼠标右键时,利用菜单编辑器创建上下文菜单对象后,当用户在图形对象上单击鼠标右键时,上下文菜单会随之出现,这样可以根据上下文的具体内容修改图形对象的相应上下文菜单会随之出现,这样可以根据上下文的具体内容修改图形对象的相应属性,故菜单编辑器能够创建上下文菜单并将菜单与图形对象联系起来。属性,故菜单编辑器能够创建上下文菜单并将菜单与图形对象联系起来。图图7-8 7-8 上下文菜上下文菜单创单创建建图图注意注意:在创建菜单之前要选择菜单编辑器的在创建菜单之前要选择菜单编辑器的Context MenuContext Menu标签界面。标签界面。19六、对象浏览器六、对象浏览器利用对象浏览器,可查看当前所创建的图形对象。从对象设计编辑器界面的工利用对象浏览器,可查看当前所创建的图形对象。从对象设计编辑器界面的工具栏上选择,或者选择具栏上选择,或者选择“View”View”菜单下的菜单下的“Object Browser”Object Browser”选项,可以打开选项,可以打开对象浏览器。对象浏览器。图图 7-9 7-9 对对象象浏览浏览器器20第二节第二节 GUIGUI向导设计向导设计 GUI GUI的向导设计,简单地说,就是利用的向导设计,简单地说,就是利用GUIGUI设计工具集实现多种控设计工具集实现多种控制对象的设计。本节我们将通过实例实践其具体操作过程。制对象的设计。本节我们将通过实例实践其具体操作过程。【例例7-17-1】设计一个带有三个按钮和一个坐标轴的图形用户界面,当用设计一个带有三个按钮和一个坐标轴的图形用户界面,当用鼠标点击三个按钮时,分别在坐标轴内画鼠标点击三个按钮时,分别在坐标轴内画spheresphere,和,和membranemembrane三个图三个图形。形。peakspeaks创建控件创建控件 前面我们已经建立了带有一个坐标轴和三个按钮控件的图形界面,这前面我们已经建立了带有一个坐标轴和三个按钮控件的图形界面,这里就不赘述了,如前图里就不赘述了,如前图7-37-3所示。所示。设置控件对齐方式设置控件对齐方式 若控件排列不够整齐,当控件个数较少时,逐个调整尚可,但当控件若控件排列不够整齐,当控件个数较少时,逐个调整尚可,但当控件个数较多时,逐个调整将变得麻烦,费时,这时我们可以应用几何位个数较多时,逐个调整将变得麻烦,费时,这时我们可以应用几何位置排列工具对控件的位置进行调整。置排列工具对控件的位置进行调整。首先要将待调整的控件同时选中。选中方法有两种:一是按住首先要将待调整的控件同时选中。选中方法有两种:一是按住“Ctrl”Ctrl”键,用鼠标左键逐一点击要调整的控件;二是按住鼠标左键键,用鼠标左键逐一点击要调整的控件;二是按住鼠标左键进行拖拽框选,然后点击工具栏上的打开几何位置排列工具窗口,再进行拖拽框选,然后点击工具栏上的打开几何位置排列工具窗口,再点击下面的,使得所选的控件左对齐,点击点击下面的,使得所选的控件左对齐,点击“确定确定”后,界面设计编后,界面设计编辑器效果如图辑器效果如图7-107-10所示。所示。21图图7-10 7-10 调调整空整空间间位置后的界面位置后的界面设计编辑设计编辑器外器外观图观图22设置控件属性设置控件属性图图7-10 7-10 共有三个按钮,且每个按钮行使相应的功能,在按钮上双击鼠标左键共有三个按钮,且每个按钮行使相应的功能,在按钮上双击鼠标左键可以打开按钮属性编辑器,如图可以打开按钮属性编辑器,如图7-117-11所示,该图的左侧是按钮的所有属性,右所示,该图的左侧是按钮的所有属性,右侧是其属性值。侧是其属性值。图图7-11 7-11 按按钮钮属性属性编辑编辑器外器外观图观图23编写回调程序编写回调程序前三部的工作结束后,界面上的三个按钮就要行使其功能了。首先,前三部的工作结束后,界面上的三个按钮就要行使其功能了。首先,点击菜单栏上的保存按钮进行文件的保存,此时,会弹出点击菜单栏上的保存按钮进行文件的保存,此时,会弹出“save save as”as”对话框,如图对话框,如图7-147-14所示,进行所示,进行FIGFIG文件保存,文件命名为文件保存,文件命名为myGUImyGUI。图图 7-14 7-14 保存保存图图形界面的形界面的对话对话框框图图24同时,同时,MatlabMatlab会自动创建一个同名的会自动创建一个同名的M M文件,并且自动打开,如图文件,并且自动打开,如图7-157-15所示。所示。图图7-15 7-15 自自动动生成的生成的M M文件文件其次,在自动生成的其次,在自动生成的M M文件中,找到与三个按钮有关的回调子函数,本例中的文件中,找到与三个按钮有关的回调子函数,本例中的回调子函数见图回调子函数见图7-167-16所示的光标定位处(这里我们仅截取了按钮所示的光标定位处(这里我们仅截取了按钮1 1的回调子函的回调子函数)。数)。25图图7-16 7-16 按按钮钮1 1的回的回调调子函数定位子函数定位图图26下面就可以在该子函数的空白处填写回调程序了。下面就可以在该子函数的空白处填写回调程序了。例如,按钮例如,按钮“sphere”的回调程序为:的回调程序为:sphere;axis tight;按钮按钮“peaks”的回调程序为:的回调程序为:peaks;axis tight;按钮按钮“membrane”的回调程序为:的回调程序为:membrane;axis tight;上面的三个回调程序在自动生成的命名为上面的三个回调程序在自动生成的命名为myGUI的的M文件文件编辑器中录入的情况如图编辑器中录入的情况如图7-17所示,为了减少图占用太大所示,为了减少图占用太大的空间,将编辑器中三个子函数部分的解释性语句已删去。的空间,将编辑器中三个子函数部分的解释性语句已删去。27图图7-17 M7-17 M文件文件编辑编辑器中的三个按器中的三个按钮钮的回的回调调子函数子函数28程序录入后,点击保存图标,将程序录入后,点击保存图标,将M文件重新保存,文件重新保存,然后点击然后点击M文件编辑器上的运行快捷按钮或返回文件编辑器上的运行快捷按钮或返回到图到图7-13未被激活的图形界面,点击工具栏上的未被激活的图形界面,点击工具栏上的运行图标,此时则生成如图运行图标,此时则生成如图7-18(a)所示的被激活所示的被激活的图形界面。当点击的图形界面。当点击“sphere”按钮时,在空白的按钮时,在空白的坐标轴处出现球体,如图坐标轴处出现球体,如图7-18(b)所示;点击所示;点击“peaks”按钮时,在空白的坐标轴处出现尖峰图,按钮时,在空白的坐标轴处出现尖峰图,如图如图7-18(c)所示;点击所示;点击“membrane”按钮时,在按钮时,在空白的坐标轴处出现空白的坐标轴处出现membrane图,如图图,如图7-18(d)所示。所示。29 (a)(a)(b)(b)(c)(d)图图7-18 7-18 运行结果运行结果(a)(a)被激活后的界面;被激活后的界面;(b)sphere(b)sphere图;图;(c)peaks(c)peaks图;图;(d)membrane(d)membrane图图 30 至此,图形界面的至此,图形界面的GUIGUI向导设计就完成了。还有一点向导设计就完成了。还有一点需要说明的是,在编写回调程序时,也可以在属性编辑需要说明的是,在编写回调程序时,也可以在属性编辑器的器的CallbackCallback属性中录入代码。事实上,两种方法得到属性中录入代码。事实上,两种方法得到的结果是相同的。但是,第二种方法(直接修改的结果是相同的。但是,第二种方法(直接修改CallbackCallback属性值)适用于代码语句少的的情况,如果函属性值)适用于代码语句少的的情况,如果函数体由多条语句组成,最好采用本例所使用的方法。数体由多条语句组成,最好采用本例所使用的方法。31第三节第三节 GUIGUI程序设计程序设计 这一节我们将介绍如何应用,用函数编写用户这一节我们将介绍如何应用,用函数编写用户界面,主要涉及三个函数:界面,主要涉及三个函数:uimenu(uimenu(菜单菜单),uicontextmenu(uicontextmenu(上下文菜单上下文菜单)和和uicontrol(uicontrol(控件控件)。一、用户界面菜单对象和上下文菜单对象的建立一、用户界面菜单对象和上下文菜单对象的建立1 1 用户界面菜单对象的建立用户界面菜单对象的建立自制用户菜单对象,通过函数自制用户菜单对象,通过函数uimenuuimenu创建,调用格式创建,调用格式为:为:h=uimenu(PropertyName1h=uimenu(PropertyName1,value1value1,PropertyName2,value2PropertyName2,value2,),32即在当前图形窗口上部的菜单栏创建一个菜即在当前图形窗口上部的菜单栏创建一个菜单对象,并返回一个句柄值。函数变量单对象,并返回一个句柄值。函数变量PropertyNamePropertyName是所建菜单的属性,是所建菜单的属性,valuevalue是属是属性值。菜单对象的属性分为公共属性、基本性值。菜单对象的属性分为公共属性、基本控制属性和控制属性和callbackcallback管理属性三部分,关于管理属性三部分,关于属性及其的详细内容见属性及其的详细内容见MatlabMatlab帮助文件,这帮助文件,这里介绍一些常用重要属性的设置方法。里介绍一些常用重要属性的设置方法。33 label label和和callbackcallback这是菜单对象的基本属性,编写一个具有基本功能的菜单必这是菜单对象的基本属性,编写一个具有基本功能的菜单必须要设置须要设置labellabel和和callbackcallback属性。属性。labellabel是在菜单项上显示是在菜单项上显示的菜单内容;的菜单内容;callbackcallback是用来设置菜单项的回调程序。是用来设置菜单项的回调程序。checkedchecked和和 separatorseparatorchecked checked 属性用于设置是否在菜单项前添加选中标记。记为属性用于设置是否在菜单项前添加选中标记。记为”on”on”表示添加,表示添加,”off”off”表示不添加。因为有些菜单的表示不添加。因为有些菜单的选中标记相斥,这就要求给一个菜单项添加选中标记的同选中标记相斥,这就要求给一个菜单项添加选中标记的同时去掉另一个选项的标记;时去掉另一个选项的标记;separator separator 用于在菜单项之前添加分隔符,以便使菜单更加用于在菜单项之前添加分隔符,以便使菜单更加清晰。清晰。Background ColorBackground Color和和 Foreground ColorForeground ColorBackground Color(Background Color(背景色背景色)是菜单本身的颜色;是菜单本身的颜色;Foreground Color(Foreground Color(前景色前景色)是菜单内容的颜色。是菜单内容的颜色。34【例例7-27-2】建立一个包含用户界面菜单项的图形界面,并可执行菜单项建立一个包含用户界面菜单项的图形界面,并可执行菜单项的相应功能,分别绘制的相应功能,分别绘制membranemembrane、peakspeaks和和sincsinc函数图形。函数图形。MatlabMatlab程序如下:程序如下:%首先建立一个图形窗口,去除窗口本身包含的菜单条和工具条,并命首先建立一个图形窗口,去除窗口本身包含的菜单条和工具条,并命名为名为myfirstGUImyfirstGUIh0=figure(menubar,none,toolbar,none,name,myfirstGUI);%从左至右,依次建立各级菜单从左至右,依次建立各级菜单%先建立先建立【DrawDraw】菜单和其下的菜单和其下的【MembraneMembrane】【】【PeaksPeaks】和和【SincSinc】子菜单项子菜单项h1=uimenu(h0,label,Draw);h11=uimenu(h1,label,Membrane,callback,membrane);h12=uimenu(h1,label,Peaks,callback,peaks);h13=uimenu(h1,label,Sinc,callback,.x,y=meshgrid(-5:0.5:5);,r=sqrt(x.2+y.2)+eps;,.z=sin(r)./r;,surf(z););该段代码运行后,生成如图该段代码运行后,生成如图7-197-19所示的带菜单界面图。所示的带菜单界面图。35图图7-19 7-19 生成生成“membranemembrane”的的图图形界面形界面 36%建立第二个菜单建立第二个菜单【ColormapColormap】及其下的及其下的【CoolCool】【】【HotHot】【】【DefaultDefault】子子菜单项,当某项被选中时,添加选中标记,同时去掉其它选项的选中标记菜单项,当某项被选中时,添加选中标记,同时去掉其它选项的选中标记h2=uimenu(h0,label,ColorMap);h22(1)=uimenu(h2,label,Hot,.callback,.set(h22,checked,off);,.set(h22(1),checked,on);,colormap(hot););h22(2)=uimenu(h2,label,Cool,.callback,.set(h22,checked,off);,.set(h22(2),checked,on);,colormap(cool););h22(3)=uimenu(h2,label,Spring,.callback,.set(h22,checked,off);,.set(h22(3),checked,on);,colormap(Spring););该段代码运行后,生成如图该段代码运行后,生成如图7-207-20所示的界面图。所示的界面图。37图图7-20 7-20 生成生成“hothot”效果的效果的图图形界面形界面 38%建立控制坐标轴的显示菜单建立控制坐标轴的显示菜单【AxisAxis】,用于是否显示坐标轴,用于是否显示坐标轴h3=uimenu(h0,label,Axis);h31=uimenu(h3,label,Axis on,callback,axis on);h32=uimenu(h3,label,Axis off,callback,axis off);该段代码运行后,生成如图该段代码运行后,生成如图7-217-21所示的界面所示的界面图。图。图图7-21 7-21 生成生成带带坐坐标轴标轴的的图图形界面形界面 39%建立关闭图形用户界面按钮建立关闭图形用户界面按钮【closeclose】hbutton=uicontrol(positionhbutton=uicontrol(position,80 30 60 3080 30 60 30,stringstring,closeclose,fontsizefontsize,8 8,fontweightfontweight,boldbold,callbackcallback,close);close);至此,就形成了一个用户菜单界面,执行结果如图至此,就形成了一个用户菜单界面,执行结果如图7-197-19、7-207-20和和7-217-21所示的三个图形。实际上,运行上面的代码后,所示的三个图形。实际上,运行上面的代码后,仅产生一个图形界面,为了让读者看清界面内的主菜单下的仅产生一个图形界面,为了让读者看清界面内的主菜单下的子菜单所对应的功能,在相应的位置给出了该子菜单的子菜单所对应的功能,在相应的位置给出了该子菜单的CallbackCallback属性的回调程序结果。属性的回调程序结果。40提示:在单引号内的字符串必须用两单引号提示:在单引号内的字符串必须用两单引号 (不等于双引号)表示所需的单引号;(不等于双引号)表示所需的单引号;在设置选中标记时在设置选中标记时,先用命令先用命令 set(h22,”check”,”off”),set(h22,”check”,”off”),将将h22h22中三个句柄对应的菜单项都设中三个句柄对应的菜单项都设 为未选中状态为未选中状态,然后然后,把选择的菜单项把选择的菜单项 设为选中状态设为选中状态,以保证多个选项之间以保证多个选项之间 的互斥性。的互斥性。412 2 用户界面上下文菜单的建立用户界面上下文菜单的建立 用户界面上下文菜单对象,与固定位置的菜用户界面上下文菜单对象,与固定位置的菜单对象相比,上下文菜单对象的位置不固定,总单对象相比,上下文菜单对象的位置不固定,总是与某个(些)图形对象相联系,并通过鼠标右是与某个(些)图形对象相联系,并通过鼠标右键激活,制作上下文菜单步骤如下:键激活,制作上下文菜单步骤如下:利用函数利用函数uicontextmenuuicontextmenu创建上下文菜单对象;创建上下文菜单对象;利用函数利用函数uimenuuimenu为该上下文菜单对象制作具体的为该上下文菜单对象制作具体的菜单项;菜单项;利用函数利用函数setset将该上下文菜单对象和某些图形对将该上下文菜单对象和某些图形对象象 联系在一起。联系在一起。下面通过示例看一下下面通过示例看一下uicontextmenuuicontextmenu函数的使用。函数的使用。42【例例7-37-3】在一个图形窗口绘制抛物线和余弦曲线,并创建一个与之相联系的在一个图形窗口绘制抛物线和余弦曲线,并创建一个与之相联系的上下文菜单,用于控制线条的颜色、线宽、线型及标记点风格。上下文菜单,用于控制线条的颜色、线宽、线型及标记点风格。MatlabMatlab程序如下:程序如下:%画曲线画曲线y1y1,并设置其句柄,并设置其句柄h=uicontextmenu;h=uicontextmenu;t=-1:0.1:1;subplot(2,1,1);y1=t.2;h_line1=plot(t,y1);%建立上下文菜单建立上下文菜单uimenu(h,label,red,callback,set(h_line1,color,r);uimenu(h,label,green,callback,set(h_line1,color,g);uimenu(h,label,yellow,callback,set(h_line1,color,y);uimenu(h,label,linewidth1.5,callback,set(h_line1,linewidth,1.5);uimenu(h,label,linestyle*,callback,set(h_line1,linestyle,*);uimenu(h,label,linestyle:,callback,set(h_line1,linestyle,:);uimenu(h,label,marker,callback,set(h_line1,marker,s);set(h_line1,uicontextmenu,h)%使上

    注意事项

    本文(Matlab的图形用户界面GUI.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开