MATLAB实用教程 教学课件 ppt 作者 张磊 毕靖 郭莲英 第八章

上传人:E**** 文档编号:89400581 上传时间:2019-05-24 格式:PPT 页数:82 大小:845KB
返回 下载 相关 举报
MATLAB实用教程 教学课件 ppt 作者  张磊 毕靖 郭莲英 第八章_第1页
第1页 / 共82页
MATLAB实用教程 教学课件 ppt 作者  张磊 毕靖 郭莲英 第八章_第2页
第2页 / 共82页
MATLAB实用教程 教学课件 ppt 作者  张磊 毕靖 郭莲英 第八章_第3页
第3页 / 共82页
MATLAB实用教程 教学课件 ppt 作者  张磊 毕靖 郭莲英 第八章_第4页
第4页 / 共82页
MATLAB实用教程 教学课件 ppt 作者  张磊 毕靖 郭莲英 第八章_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《MATLAB实用教程 教学课件 ppt 作者 张磊 毕靖 郭莲英 第八章》由会员分享,可在线阅读,更多相关《MATLAB实用教程 教学课件 ppt 作者 张磊 毕靖 郭莲英 第八章(82页珍藏版)》请在金锄头文库上搜索。

1、第八章 图形用户 界面(GUI),本章将介绍: 图形用户界面的设计原则; 图形用户界面的操作步骤。,目录,8.1 GUI设计向导 8.2 编程设计GUI 8.3 图形用户界面设计实例 习 题,8.1 GUI设计向导,8.1.1 GUI概述 8.1.2 启动GUIDE 8.1.3 GUIDE提供的控件,本节介绍: 图形用户界面(GUI)的基本概念; GUI开发环境GUIDE; GUI组成部分的用途和使用方法; GUI创建的详细步骤。,8.1.1 GUI概述,GUI是一种包含多种对象的图形窗口,并为GUI开发提供一个方便高效的集成开发环境GUIDE。GUIDE主要是一个界面设计工具集,MATLAB

2、将所有GUI支持的控件都集成在这个环境中。,GUIDE将设计好的GUI保存在一个FIG文件中,同时生成M文件框架。 FIG文件:该文件包括GUI图形窗口及其所有FIG文件包含序列化的图形窗口对象; M文件:该文件包括GUI设计、控制函数以及定义为子函数的用户控件回调函数。,GUIDE可以根据GUI设计过程直接自动生成M文件框架,优点如下: M文件已经包含一些必要的代码; 管理图形对象句柄并执行回调函数子程序; 提供管理全局数据的途径; 支持自动插入回调函数原型。,GUI创建包括界面设计和控件编程两部分,主要步骤如下: 通过设置GUIDE应用程序的选项来运行GUIDE; 使用界面设计编辑器进行界

3、面设计; 编写控件行为响应控制(即回调函数)代码。,8.1.2 启动GUIDE,在MATLAB中,GUIDE提供多个模板来定制GUI。这些模板均已包括相关的回调函数,可以通过修改对应的M文件函数,实现指定功能。,在MATLAB中,可以通过如下两种方法来访问模板: 直接输入命令GUIDE,打开如下图所示的界面; 如果GUIDE已经打开,通过【File】菜单下的【New】选项也可以打开如下图所示的界面。,在模板设计界面中,可以选择创建新的GUI或者打开原有的GUI。 在创建新的GUI时MATLAB提供以下4种模板: 空白模板; 带有控制按钮模板; 带有坐标轴和菜单模板; 问答式对话框模板。,其中的

4、空白模板如下图所示。,8.1.3 GUIDE提供的控件,在空白模板中,GUIDE提供界面控件以及设计工具集来实现界面设计,其中,控件分布在界面设计编辑器的左侧,如下图所示。,按钮:通过鼠标单击按钮可以实现某种行为,并调用相应的回调函数。 滚动条:能够通过移动滚动条来改变指定范围内的数值输入,滚动条的位置代表输入数值。 单选按钮:单选按钮通常以组为单位,一组单选按钮之间是一种互相排斥的关系。,复选框:复选框与单选按钮类似,只是多个复选框可以同时有效。 编辑框:编辑框可编辑或修改字符串的文本域。 静态文本:静态文本通常作为其他控件的标签使用。,弹出式菜单:弹出式菜单将打开并显示选项列表。 列表框:

5、列表框显示列表项,并能够选择其中的一项或多项。 拴牢按钮:拴牢能够产生一个二进制状态的行动。,组合框:组合框是图形窗口中的一个封闭区域,它把相关联的控件组合在一起。 按钮组:按钮组类似于组合框,但是它可以响应单选按钮以及拴牢按钮的高级属性。 坐标轴:坐标轴可以设置关于外观和行为的参数。,8.1.4 界面设计工具集,1界面设计编辑器 2属性检查器 3对象浏览器 4菜单编辑器,GUIDE提供的界面设计工具集包括如下内容: 界面设计编辑器:添加并排列图形窗口中的控件对象。 属性检查器:检查并设置控件的属性值。,对象浏览器:观察此次MATLAB运行过程中图形对象的句柄集成关系表。 菜单编辑器:创建窗口

6、菜单和上下文菜单。,1界面设计编辑器,界面设计编辑器能够从控件面板中选择控件,并将它们排列在图形窗口中。 界面设计编辑器由以下4个部分组成: 控件面板; 工具栏;,菜单栏; 界面区域。 其中: 控件面板包含所有控件; 工具栏和菜单栏可以用来启动其他界面设计工具; 界面区域实际上就是激活后的GUI图形窗口。,(1)控件面板 在GUI界面中放置控件: 单击控件面板中需要放置控件的按钮; 在光标变为十字形后,使用十字形光标的中心点来确定控件左上角的位置; 可以通过拖动鼠标来确定控件的大小。,所有控件布置好后,可以使用激活按钮或选择【Tools】菜单下的【ActivateFigure】选项检查GUID

7、E的设计结果,激活时将(提示)保存FIG文件和M文件。,(2)上下文菜单 使用界面设计编辑器进行界面设计时: 选择一个对象; 单击鼠标右键来显示其对应的上下文菜单。,下图描述了一个与按钮相联系的上下文菜单,同时所有已定义的回调函数都可列出。,(3)排列工具 可以在界面区域内通过选择并拖动任意控件(群)对其进行控件排列,当选择【Tools】菜单下的【Align Objects】选项时即可打开下图所示的排列工具栏。,(4)网线和标线 界面区域内可以使用网格和标线辅助设计,当选择【Tools】菜单下的【Grid and Rulers】选项时即可打开下图所示的网格和标线对话框。,2属性检查器,属性检查

8、器提供所选择对象的可设置属性列表及当前属性值,并可以进行手动设置,当选择【View】菜单下的【Property Inspector】选项时即可打开类似下图所示的属性检查器。,3对象浏览器,对象浏览器可以显示图形窗口中所有对象的继承关系。,4菜单编辑器,GUIDE能够创建菜单栏和上下文菜单。 当选择【Tools】菜单下的【Menu Editor】选项时即可打开下图所示的菜单编辑器。,(1)菜单栏菜单 使用【New Menu】工具栏创建一个菜单; 指定其隶属关系; 指定其属性。 下图显示一个设计的菜单,当激活图形窗口时即可看到结果。,(2)上下文菜单 上下文菜单设计好后,当单击鼠标右键时它随之出现

9、。 使用【New Context Menu】工具栏创建一个菜单; 指定其隶属关系; 指定其属性。,8.1.5 GUI组态,1窗口重画行为 2命令行访问 3生成FIG文件和M文件,在添加控件前,应使用GUIDE应用程序选项对话框对GUI组态进行设置。选择界面设计编辑器的【Tools】菜单下的【Application Options】选项打开如下图所示选项对话框。,该对话框能够设置的选项如下: 窗口重画行为(Resize behavior); 命令行访问(Command-line accessibility); 生成FIG文件和M文件(Generate FIG-file and M-file);

10、生成回调函数原型(Generate callback function prototypes);,同一时刻仅允许运行一个应用程序实例(GUI allows only one instance to run (singleton) ); 使用系统背景颜色设置(Using the system background colors); 仅生成FIG文件(Generate FIG-file Only)。,8.1.6 GUI界面设计,GUI界面设计是通过使用界面设计编辑器进行的,控件的布置前面已经介绍,但在布置后往往需要定义控件的属性。,用鼠标双击该控件,即可看到其对应的属性检查器。 当第一次将按钮布置

11、在界面后,双击该按钮即可看到如下图所示的属性检查器,其中包含属性Tag和Callback。,8.2 编程设计GUI,1M文件及数据管理 2回调函数的使用方法 3图形窗口的行为控制,GUI的编程方法: 系统生成的应用程序M文件的含义,以及利用句柄结构体管理GUI数据的方法; GUI控件回调函数的类型和中断方法; GUI图形窗口的行为控制。,1M文件及数据管理,(1)M文件 GUI的一个重要任务就是通过控件响应指定行为。 GUIDE给添加到应用程序M文件中的回调函数自动命名,并使控件被激活时该函数能够被调用。,(2)数据管理 GUIDE使用应用程序M文件来定义和实现数据的存储和读取,文件中包含所有

12、GUI控件对象句柄的结构体handles。,2回调函数的使用方法,(1)回调函数类型 图形对象的回调函数 ButtonDownFcn:当用户将鼠标放置在某个对象时,单击鼠标左键,MATLAB将调用回调函数。,CreatFcn:MATLAB将在创建对象时,调用回调函数。 DeleteFcn:MATLAB在删除对象之前调用回调函数。, 图形窗口的回调函数 CloseRequestFcn:当请求关闭图形窗口时,调用回调函数。 KeyPressFcn:当用户在图形窗口内按下鼠标键时,调用回调函数。 ResizeFcn:当用户重画图形窗口时,调用回调函数。,WindowButtonDownFcn:当用户

13、在图形窗口内无控件的地方按下鼠标键时,调用回调函数。 WindowButtonMotionFcn:当用户在图形窗口中移动鼠标时,调用回调函数。 WindowButtonUpFcn:当用户在图形窗口中释放鼠标键时,调用回调函数。,(2)回调函数执行中断 默认情况下MATLAB允许回调函数执行中断,且可以随时终止操作,则终止操作对应的回调函数将会中断装载数据操作对应的回调函数。, 可执行中断设置 图形对象都包含属性Interruptible,该属性的默认值为on,表示回调函数可以执行中断。,同时图形对象都包含属性BusyAction,它有如下两种可能的取值: queue:将事件保存在事件序列中并等

14、待不可中断回调函数执行完毕后处理。 cancel:放弃该事件并将事件从序列中删除。, 执行中断的规则 遇到命令drawnow、figure、getframe、pause或waitfor,MATLAB将该回调函数挂起并开始处理事件序列。 事件序列的顶端事件要求重画图形窗口,MATLAB将执行重画并继续处理事件序列中的下一个事件。,事件序列的顶端事件将会导致一个回调函数的执行,MATLAB将判断回调函数被挂起的对象是否可中断。 当所有事件都被处理后,MATLAB恢复被中断函数的执行。,3图形窗口的行为控制 在设计GUI时,需要考虑GUI图形窗口的 行为控制,主要包括如下3种情况: 实现图形注释的工

15、具GUI,通常一幅图形需要一个新的工具实例。,询问用户并阻止MATLAB运行直至用户作出回答,此时图形窗口仅可以被观察。 警告用户其指定的操作将会破坏文件的对话框,该对话框能够执行用户所需的操作前强迫用户作出回答。,下面3种技术能够有效地解决上述3种情况。 允许单个或多个GUI实例同时运行。 在显示GUI时阻止MATLAB的运行。 使用模态图形窗口使用户只能与当前执行的GUI进行交互。,8.3 图形用户界面设计实例,编写函数,这些函数都包含在随图形用户界面设计时产生的M文件中。 1图形用户界面打开时自动运行的函数 simple_gui_OpeningFcn(),其具体代码序列如下:,23个按钮

16、的回调函数(Callback),其具体代码序列如下:,3下拉菜单的回调函数(Callback),其具体代码序列如下:,4菜单项Close的回调函数(Callback),其具体代码序列如下:,最后激活的图形用户界面如下图所示。,当在下拉菜单中选择【sinc】且单击【Mesh】按钮,可得到如下图所示的结果。,当选择【File】菜单下的【Close】选项,图形用户界面将关闭。 关闭guide后,在命令窗口直接输入如下代码序列也可以运行图形用户界面。 clear simple_gui,由上面的例子,可以总结出图形用户界面设计的基本流程: 首先新建一个模板,并设置GUI应用程序选项,保存文件; 其次布置界面,并设置模板和控件的属性; 再次设置初始/结束函数和回调函数; 最后激活/运行图形用户界面。,习 题,1利用图形用户界面,实现记事本【File】菜单下的【新建】、【打开】、【保存】、【另存为】和【退出】菜单项功能。 2利用图形用户界面,设计能够完成增、删、改通讯簿记录的程序。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号