资源预览内容
第1页 / 共55页
第2页 / 共55页
第3页 / 共55页
第4页 / 共55页
第5页 / 共55页
第6页 / 共55页
第7页 / 共55页
第8页 / 共55页
第9页 / 共55页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1第七章 Matlab的图形用户界面GUI GUI设计工具简介 GUI向导设计 GUI程序设计 2第一节 GUI设计工具简介通常在开发一个应用程序时都会尽量做到界面友好、 直观。最常用的方法就是使用图形用户界面。在Matlab中 ,图形用户界面是一个包含多种对象的图形窗口。用户必 须对功能对象进行界面布局和编程,从而使用户在激活GUI 的功能对象时能够执行相应的行为。Matlab为用户开发图形界面提供了一个方便、高效的 集成开发环境GUIDE(Graphic User Interface Development Environment)。GUIDE主要是一个界面设计 工具集,Matlab将所有GUI的控件都集成在这个环境中并提 供界面外观、属性和行为响应方式的设置方法。GUIDE将用 户设计好的GUI界面保存在一个FIG文件中,同时还自动生 成一个包含GUI初始化和组件界面布局控制代码的M文件。 这个M文件为实现回调函数(当用户激活GUI某一个组件时 执行的函数)提供了一个参考框架,这样既简化了GUI应用 程序的创建工作,用户又可以直接使用这个框架来编写自 己的函数代码。3整个GUI的实现过程可以分为以下几步: 使用界面设计编辑器进行GUI界面布局设计; 理解应用程序M文件中所使用的编程技术; 编写GUI组件行为响应控制(即回调函数)代码。 一、启动GUIDE在Matlab中,GUIDE提供了多种设计模板以方便用户使 用GUI。这些模板均包含相关的回调函数,用户可以打开它 所对应的M文件,看到它们的工作方式,或修改相应的函数 ,从而实现自己需要的功能。在Matlab 中,可以通过如下两种方法来访问模板: 直接输入“guide”命令,打开如图7-1所示的界面; 通过File菜单中的New选项也可以打开GUI模板界面。4图图7-1 进进入GUI的初始界面5在创建新的GUI时,Matlab 提供了空白模板、带有控制按钮 的模板、带有坐标轴和菜单的模板以及问答式对话框4种模板。其 中空白模板如图7-2所示:图图7-2 空白界面编辑编辑 器外观图观图6二、用户界面控件对象介绍在空白模板中GUIDE提供了用户界面控件以及界面设计 工具集来实现用户界面的创建工作,用户界面控件分布在界 面编辑器的左侧,下面我们对各控件加以介绍。:按钮(Push Button),是小的矩形面,在其上 面标有说明该按钮功能的文本。将鼠标指针移动至按钮,单 击鼠标,按钮被按下随即自动弹起,并执行回调程序。 按钮的“Style”属性的默认值是“pushbotton”。7:开关按钮(Toggle Button) 和一般按钮形状相 同,区别在于它有两种状态,用鼠标单击按钮,它会从一 种状态变成另一种状态,并执行相应的回调程序(两种状 态各对应不同的回调程序)。按钮“开”时,Value属性的值为在Max属性中指定的值 ;按钮“关”时,Value属性的值为在Min属性中指定的值 。按钮的“Style”属性的默认值是“togglebutton”。:编辑框(Edit Text),允许用户动态地编辑文本 字符串或数字,就象使用文本编辑器或文字处理器一样。 编辑框一般用于让用户输入或修改文本字符串和数字。编辑框的“String”属性“的默认值是“Edit Text”。8:单选按钮(Radio Button),又称无线按 钮,它由一个标注字符串(在“String” 属性 中设置)和字符串左侧的一个小圆圈组成。当它 被选择时,圆圈被填充一个黑点,且属性 “Value”的值为“1”;若未被选择,圆圈为空 ,属性的“Value”值为“0”。单选按钮一般用于在一组互斥的选项中选择 一项。为了确保互斥性,各单选按钮的回调程序 需要将其它各项的“Value”值设为“0”。单选按钮 “style”的属性的默认值是“Radio Button”。9: 弹出式菜单(Pop-up Menu),向用户提出互斥的一 系列选项清单,用户可以选择其中的某一项。弹出式菜单 下拉式菜单,它不受菜单条的限制,可以位于图形窗口内 的任何位置。通常状态下,弹出式菜单以矩形的形式出现,矩形中 含有当前选择的选项,在选项右侧有一个向下的箭头来表 明该对象是一个弹出式菜单。当指针处在弹出式菜单的箭 头之上并按下鼠标时,出现所有选项。移动指针到不同的 选项,单击鼠标左键就选中了该选项,同时关闭弹出式菜 单,显示新的选项。选择一个选项后,弹出式菜单的“Value”属性值为该 选项的序号。弹出式菜单的“Style”属性的默认值是 “popupmenu”,在“string”属性中设置弹出式菜单的选 项字符串,在不同的选项之间用“|”分隔,类似于换行。:10:图文框(Panel),图文框是填充的矩形区域。一般用来 把其它控件放入图文框中,组成一组。图文框本身没有回调程 序。注意只有用户界面控件可以在图文框中显示。由于图文框 是不透明的,因而定义图文框的顺序就很重要,必须先定义图 文框,然后定义放到图文框中的控件。因为先定义的对象先画 ,后定义的对象后画,后画的对象覆盖到先画的对象上。:静态文本框(text),静态文本框用来显示文本字符串 ,该字符串内容由属性“string”确定。静态文本框之所以 称为“静态”,是因为文本不能被动态的修改,而只能通过 改变“String”属性来更改。静态文本框一般用于显示标记 、提示信息及当前值。静态文本框的“Style”属性的默认值 是“text”。:11:列表框(listbox),列表框列出一些选项的清单, 并允许用户选择其中的一个或多个选项,一个或多个的模 式由Min和Max属性控制。Value 属性的值为被选中选项的 序号,同时也指示了选中选项的个数。当单击鼠标按钮选中该项后,Value属性的值被改变 ,释放鼠标按钮的时候Matlab执行列表框的回调程序。列表框的“Style”属性的默认值是“listbox”。:复选框(checkbox),又称检查框,它由一个标注 字符串(在“String”属性中设置)和字符串左侧的一个 小方框所组成。选中时在方框内添加“”符号, “Value”属性值设为“1”;未选中时方框变空, “Value”属性值设为“0”。复选框一般用于表明选项的 状态或属性。12:滑动条(slider),又称滚动条,包括三个部分,分别是滑动槽 ,表示取值范围;滑动槽内的滑块,代表滑动条的当前值;以及在滑动 条两端的箭头,用于改变滑动条的值。滑动条一般用于从一定的范围中取值。改变滑动条的值有三种方式 ,一种是用鼠标指针拖动滑块,在滑块位于期望位置后放开鼠标;另一 种是当指针处于滑块槽中但不在滑块上时,单击鼠标按钮,滑块沿该方 向移动一定距离,距离的大小在属性“SliderStep”中设置,缺省情况 下等于整个范围的10%;第三种方式是在滑块条的某一端用鼠标单击箭头 ,滑块沿着箭头的方向移动一定的距离,距离的大小在属性 “SliderStep”中设置,缺省情况下为整个范围的1%。 滑动条的“Style”属性的默认值是“slider”:按钮组(Button Group),放到按钮组中的多个单选按钮具有 排它性,但与按钮组外的单选按钮无关。制作界面时常常会遇到有几组 参数具有排它性的情况,即每一组中只能选择一种情况。此时,可以用 几组按钮组表示这几组参数,每一组单选按钮放到一个按钮组控件中。13图图7-3 带带有控件的图图形界面编辑编辑 器外观图观图三、几何位置排列工具14利用对象对齐工具,可以很方便地对对象设计编辑器中设计区内多个对象的位置 进行调整。从对象设计编辑器界面的工具栏上选择按钮,或者选择“Tools”菜单 下的“Align Objects.”选项,可以打开对象位置调整器,如图7-4所示:图图 7-4 排列工具栏栏外观图观图利用对象对齐工具,可以设置对象在垂直方向和水平方向上的对齐方式和间距 。选中多个对象后,可以方便地通过对象对齐工具进行调整。 上半部分为垂直方向调整控制区,下面为水平方向调整控制区。将在下节GUI的 向导设计中进一步熟悉排列工具的使用。15四、用属性编辑器设置控件属性利用对象属性编辑器,可以查看、修改和设置每个对象的属性值,在对象设计 编辑器界面工具栏上选择“View” 下的“Inspect Properties”选项,可以 打开对象属性编辑器。另外,在Matlab命令窗口的命令行输入inspect,也可 以打开对象属性编辑器。对象属性编辑器如图7-5所示:图图7-5 属性编辑编辑 器外观图观图16五、菜单编辑器 利用菜单编辑器,可以创建、设置、修改下拉式菜单和弹出式菜单。在 GUIDE中单击工具栏上的按钮,或者选择“Tools”菜单中的“Menu Editor”选项,打开菜单编辑器的界面,如图7-6所示:图图 7-6 菜单编辑单编辑 器界面图图GUIDE能够创建两种类型的菜单。一种是在图形窗口菜单栏中显示的菜 单栏菜单;另一种是当用户在图形对象上单击鼠标右键时产生的上下 文菜单。可以使用菜单编辑器来创建这两种类型的菜单。171创建菜单栏菜单 图7-6中左上角第一个按钮用于创建下拉式菜单。用户可以通过点击它来创建下拉 式主菜单;第二个按钮用于创建下拉式菜单的子菜单,在选中已经创建的下拉式 菜单后,可以单击这个按钮来创建选中的下拉式主菜单的子菜单。选中创建的某 个下拉式菜单后,菜单编辑器的右边就会出现显示该菜单的有关属性,用户可以 在这里设置、修改菜单的属性。图图 7-7 下拉式菜单创单创 建图图182 创建上下文菜单 利用菜单编辑器创建上下文菜单对象后,当用户在图形对象上单击鼠标右键时 ,上下文菜单会随之出现,这样可以根据上下文的具体内容修改图形对象的相 应属性,故菜单编辑器能够创建上下文菜单并将菜单与图形对象联系起来。图图7-8 上下文菜单创单创 建图图注意:在创建菜单之前要选择菜单编辑器的Context Menu标签界面。 19六、对象浏览器 利用对象浏览器,可查看当前所创建的图形对象。从对象设计编辑器界面的工 具栏上选择,或者选择“View”菜单下的“Object Browser”选项,可以打开 对象浏览器。图图 7-9 对对象浏览浏览 器20第二节 GUI向导设计GUI的向导设计,简单地说,就是利用GUI设计工具集实现多种控 制对象的设计。本节我们将通过实例实践其具体操作过程。 【例7-1】 设计一个带有三个按钮和一个坐标轴的图形用户界面,当用 鼠标点击三个按钮时,分别在坐标轴内画sphere,和membrane三个图 形。peaks 创建控件 前面我们已经建立了带有一个坐标轴和三个按钮控件的图形界面,这 里就不赘述了,如前图7-3所示。 设置控件对齐方式若控件排列不够整齐,当控件个数较少时,逐个调整尚可,但当控件 个数较多时,逐个调整将变得麻烦,费时,这时我们可以应用几何位 置排列工具对控件的位置进行调整。首先要将待调整的控件同时选中。选中方法有两种:一是按住 “Ctrl”键,用鼠标左键逐一点击要调整的控件;二是按住鼠标左键 进行拖拽框选,然后点击工具栏上的打开几何位置排列工具窗口,再 点击下面的,使得所选的控件左对齐,点击“确定”后,界面设计编 辑器效果如图7-10所示。21图图7-10 调调整空间间位置后的界面设计编辑设计编辑 器外观图观图22 设置控件属性 图7-10 共有三个按钮,且每个按钮行使相应的功能,在按钮上双击鼠标左键 可以打开按钮属性编辑器,如图7-11所示,该图的左侧是按钮的所有属性,右 侧是其属性值。图图7-11 按钮钮属性编辑编辑 器外观图观图23 编写回调程序 前三部的工作结束后,界面上的三个按钮就要行使其功能了。首先 ,点击菜单栏上的保存按钮进行文件的保存,此时,会弹出“save as”对话框,如图7-14所示,进行FIG文件保存,文件命名为myGUI 。图图 7-14 保存图图形界面的对话对话 框图图24同时,Matlab会
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号