- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB70使用详解-第12章 图形用户界面(GUI)
第12章 图形用户界面(GUI) 如果读者接触过程序设计的有关知识,应该清楚:一个可发布的应用程序一般都需要一个友好的图形用户界面(Graphical User Interface),简称GUI。用户界面是指:用户与硬件(或程序)之间交互作用的工具和方法,是硬件(或程序)与用户之间进行通信的场所和实现交互的方式,所以又被称为“用户接口”。对于一个系统或程序而言,拥有一个优秀的用户界面是十分必要的,因为它决定了系统或程序给用户的视觉外观和使用感觉。 图形用户界面是指:由窗口、光标、按键、菜单、文字注释等对象构成的一个用户界面,用户通过选中或者激活这些对象而使系统昌盛某种用户需要的动作,如计算、图形绘制。特别是当用户作为一个程序设计者,需要设计一个简单易操作的演示方式,来验证设计,那么图形用户截面往往是比较好的选择。 12.1 GUI的设计基础 本节主要介绍:GUI的对象结构、GUI的设计原则及基本步骤、GUI的设计方式。 12.1.1 GUI的对象层次结构 本质上说,MATLAB是利用一系列函数来创建图形用户界面的,这些函数主要作用是创建用户界面类型的句柄图形对象(UI objects),对于此对象,本书与上一章做过一定的介绍,为了读者阅读的便捷,现再把其层次结构图具体表示出来,如图12.1所示,希望读者能加强对其的理解。 从图可以看出,UI objects包含多种类型的GUI对象,各种用户界面对象的具体说明如表所示。 12.1.2 GUI的创建原则及基本步骤 首先举一个GUI的例子,使读者对GUI的完整设计流程有一个直观的认识。 12.1.3 GUI的设计方式 在MATLAB中,GUI的设计方式有以下两种。 通过使用MATLAB提供的GUI开发环境——GUIDE来创建GUI:这个开发环境与VB、VC类似,只要设计者直接用鼠标把需要的对象拖拽到目的位置,就完成了GUI的布局设计,除此之外,此种方法在对M-文件保管上也比较人性化,允许设计者在需要修改设计时,快速地找到相对应的内容。和MATLAB以往的版本相比,这个开发环境在MATLAB 7.0中已经得到了很大的改进和完善,它易于掌握,比较适合初学者使用。本章主要讲解此种方式的GUI设计。 程序编辑创建GUI:即通过uicontrol、uimen、unicontextmenu等函数编写M-文件来开发GUI,上一小节的例子就是使用这种方式,此方式的优点在于GUI的菜单创建齐全,不会产生额外的.fig文件,程序代码可移植性和通用性强,用户可以直接复制代码到M-文件中或者GUIDE的M-文件中,在GUIDE的Opening Function中使用,节省类似开发项目的时间。如果使用此种方式,设计者需要特别注意GUI对象位置的配置。 12.2 在GUIDE中创建GUI 上一节已经介绍过,在GUIDE中,创建GUI是设计GUI的方式之一,GUIDE是MATLAB提供的用来开发GUI的专用环境,全称为Graphical User Interface development environment,其主要包含一个界面设计工具集(Layout editor),MATLAB在其中集中了所有GUI支持的用户控件,并且允许设计者对界面的外观、属性和行为响应方法进行设置。 使用GUIDE创建GUI,简便高效,且GUIDE将用户设计完成的GUI存储在一个FIG文件中,同时自动生成包含GUI初始化和GUI界面布局设置代码的M-文件。 FIG文件:二进制文件,用以保存图形窗口所有对象的属性。用户在完成GUI的设计,保存图形窗口时,MATLAB自动生成该文件。当用户再次打开图形窗口时,系统将按照FIG文件中保存的对象属性,构成图形窗口。 M-文件:用于存储GUI初始化和回调函数两部分,并不包含用户编写的代码。用户控键的回调函数根据具体交互操作来分别调用。 12.2.1 在MATLAB中启动GUIDE 【例2】创建一个GUI,使其具备如下功能:用户随机输入两个频率值和,以及一个时段向量值,GUI把频率值代入如下表达式,计算出的值;并对进行快速傅立叶变换,分别在不同的坐标轴中输出频域和时域的图形。 为了让读者更加直观地感受到本例的效果,首先把最终需要生成的GUI呈现给读者,如图所示。 12.2.2 GUI编辑界面的控件布局 在上一小节中创建的GUI编辑界面的左侧,读者可以看到一系列用户控件,表列出了控件的图标、名称和功能。 12.2.3 在GUI中添加控件 在上一小节的基础上(选择界面显示控件图标),针对例子的要求,为GUI添加必要的控件。 12 2 4 设置GUI及控件属性 在完成控件的添加后,用户还要根据需要,对应各控件的功能和所起的作用,给各控件设置属性。在本例的GUI中,共有4种不同类型的控
文档评论(0)