




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本章将介绍: 图形用户界面的设计原则; 图形用户界面的操作步骤。8.1 GUI设计向导8.2 编程设计GUI 8.1.1 GUI概述 8.1.2 启动GUIDE 8.1.3 GUIDE提供的控件 本节介绍: 图形用户界面(GUI)的基本概念; GUI开发环境GUIDE; GUI组成部分的用途和使用方法; GUI创建的详细步骤。 GUI是一种包含多种对象的图形窗口,并为GUI开发提供一个方便高效的集成开发环境GUIDE。GUIDE主要是一个界面设计工具集,MATLAB将所有GUI支持的控件都集成在这个环境中。 GUIDE将设计好的GUI保存在一个FIG文件中,同时生成M文件框架。 FIG文件:
2、该文件包括GUI图形窗口及其所有FIG文件包含序列化的图形窗口对象; M文件:该文件包括GUI设计、控制函数以及定义为子函数的用户控件回调函数。 GUIDE可以根据GUI设计过程直接自动生成M文件框架,优点如下: M文件已经包含一些必要的代码; 管理图形对象句柄并执行回调函数子程序; 提供管理全局数据的途径; 支持自动插入回调函数原型。 GUI创建包括界面设计和控件编程两部分,主要步骤如下: 通过设置GUIDE应用程序的选项来运行GUIDE; 使用界面设计编辑器进行界面设计; 编写控件行为响应控制(即回调函数)代码。 在MATLAB中,GUIDE提供多个模板来定制GUI。这些模板均已包括相关的
3、回调函数,可以通过修改对应的M文件函数,实现指定功能。 在MATLAB中,可以通过如下两种方法来访问模板: 直接输入命令GUIDE,打开如下图所示的界面; 如果GUIDE已经打开,通过【File】菜单下的【New】选项也可以打开如下图所示的界面。 在模板设计界面中,可以选择创建新的GUI或者打开原有的GUI。 在创建新的GUI时MATLAB提供以下4种模板:空白模板;带有控制按钮模板;带有坐标轴和菜单模板;问答式对话框模板。其中的空白模板如下图所示。 在空白模板中,GUIDE提供界面控件以及设计工具集来实现界面设计,其中,控件分布在界面设计编辑器的左侧,如下图所示。 按钮:通过鼠标单击按钮可以
4、实现某种行为,并调用相应的回调函数。 滚动条:能够通过移动滚动条来改变指定范围内的数值输入,滚动条的位置代表输入数值。 单选按钮:单选按钮通常以组为单位,一组单选按钮之间是一种互相排斥的关系。 复选框:复选框与单选按钮类似,只是多个复选框可以同时有效。 编辑框:编辑框可编辑或修改字符串的文本域。 静态文本:静态文本通常作为其他控件的标签使用。 弹出式菜单:弹出式菜单将打开并显示选项列表。 列表框:列表框显示列表项,并能够选择其中的一项或多项。 拴牢按钮:拴牢能够产生一个二进制状态的行动。 组合框:组合框是图形窗口中的一个封闭区域,它把相关联的控件组合在一起。 按钮组:按钮组类似于组合框,但是它
5、可以响应单选按钮以及拴牢按钮的高级属性。 坐标轴:坐标轴可以设置关于外观和行为的参数。 1界面设计编辑器 2属性检查器 3对象浏览器 4菜单编辑器 GUIDE提供的界面设计工具集包括如下内容: 界面设计编辑器:添加并排列图形窗口中的控件对象。 属性检查器:检查并设置控件的属性值。 对象浏览器:观察此次MATLAB运行过程中图形对象的句柄集成关系表。 菜单编辑器:创建窗口菜单和上下文菜单。 界面设计编辑器能够从控件面板中选择控件,并将它们排列在图形窗口中。 界面设计编辑器由以下4个部分组成: 控件面板; 工具栏; 菜单栏; 界面区域。其中: 控件面板包含所有控件; 工具栏和菜单栏可以用来启动其他
6、界面设计工具; 界面区域实际上就是激活后的GUI图形窗口。(1)控件面板 在GUI界面中放置控件: 单击控件面板中需要放置控件的按钮; 在光标变为十字形后,使用十字形光标的中心点来确定控件左上角的位置; 可以通过拖动鼠标来确定控件的大小。 所有控件布置好后,可以使用激活按钮 或 选 择 【 T o o l s 】 菜 单 下 的【ActivateFigure】选项检查GUIDE的设计结果,激活时将(提示)保存FIG文件和M文件。(2)上下文菜单 使用界面设计编辑器进行界面设计时: 选择一个对象; 单击鼠标右键来显示其对应的上下文菜单。 下图描述了一个与按钮相联系的上下文菜单,同时所有已定义的回
7、调函数都可列出。(3)排列工具 可以在界面区域内通过选择并拖动任意控件(群)对其进行控件排列,当选择【Tools】菜单下的【Align Objects】选项时即可打开下图所示的排列工具栏。(4)网线和标线 界面区域内可以使用网格和标线辅助设计,当选择【Tools】菜单下的【Grid and Rulers】选项时即可打开下图所示的网格和标线对话框。 属性检查器提供所选择对象的可设置属性列表及当前属性值,并可以进行手动设 置 , 当 选 择 【 V i e w 】 菜 单 下 的【Property Inspector】选项时即可打开类似下图所示的属性检查器。 对象浏览器可以显示图形窗口中所有对象的
8、继承关系。 GUIDE能够创建菜单栏和上下文菜单。 当选择【Tools】菜单下的【Menu Editor】选项时即可打开下图所示的菜单编辑器。 (1)菜单栏菜单 使用【New Menu】工具栏创建一个菜单; 指定其隶属关系; 指定其属性。 下图显示一个设计的菜单,当激活图形窗口时即可看到结果。 (2)上下文菜单 上下文菜单设计好后,当单击鼠标右键时它随之出现。 使用【New Context Menu】工具栏创建一个菜单; 指定其隶属关系; 指定其属性。 1窗口重画行为 2命令行访问 3生成FIG文件和M文件 在添加控件前,应使用GUIDE应用程序选项对话框对GUI组态进行设置。选择界面设计编辑
9、器的【To o l s 】 菜 单 下 的【Application Options】选项打开如下图所示选项对话框。 该对话框能够设置的选项如下: 窗口重画行为(Resize behavior); 命 令 行 访 问 ( C o m m a n d - l i n e accessibility); 生成FIG文件和M文件(Generate FIG-file and M-file); 生成回调函数原型(Generate callback function prototypes); 同一时刻仅允许运行一个应用程序实例(GUI allows only one instance to run (sin
10、gleton) ); 使用系统背景颜色设置(Using the system background colors); 仅生成FIG文件(Generate FIG-file Only)。 GUI界面设计是通过使用界面设计编辑器进行的,控件的布置前面已经介绍,但在布置后往往需要定义控件的属性。 用鼠标双击该控件,即可看到其对应的属性检查器。 当第一次将按钮布置在界面后,双击该按钮即可看到如下图所示的属性检查器,其中包含属性Tag和Callback。 1M文件及数据管理 2回调函数的使用方法 3图形窗口的行为控制 GUI的编程方法: 系统生成的应用程序M文件的含义,以及利用句柄结构体管理GUI数据的
11、方法; GUI控件回调函数的类型和中断方法; GUI图形窗口的行为控制。 (1)M文件 GUI的一个重要任务就是通过控件响应指定行为。 GUIDE给添加到应用程序M文件中的回调函数自动命名,并使控件被激活时该函数能够被调用。(2)数据管理 GUIDE使用应用程序M文件来定义和实现数据的存储和读取,文件中包含所有GUI控件对象句柄的结构体handles。 (1)回调函数类型 图形对象的回调函数 ButtonDownFcn:当用户将鼠标放置在某个对象时,单击鼠标左键,MATLAB将调用回调函数。 CreatFcn:MATLAB将在创建对象时,调用回调函数。 DeleteFcn:MATLAB在删除对
12、象之前调用回调函数。 图形窗口的回调函数 CloseRequestFcn:当请求关闭图形窗口时,调用回调函数。 KeyPressFcn:当用户在图形窗口内按下鼠标键时,调用回调函数。 ResizeFcn:当用户重画图形窗口时,调用回调函数。 WindowButtonDownFcn:当用户在图形窗口内无控件的地方按下鼠标键时,调用回调函数。 WindowButtonMotionFcn:当用户在图形窗口中移动鼠标时,调用回调函数。 WindowButtonUpFcn:当用户在图形窗口中释放鼠标键时,调用回调函数。 (2)回调函数执行中断 默认情况下MATLAB允许回调函数执行中断,且可以随时终止操
13、作,则终止操作对应的回调函数将会中断装载数据操作对应的回调函数。 可执行中断设置 图形对象都包含属性Interruptible,该属性的默认值为on,表示回调函数可以执行中断。 同时图形对象都包含属性BusyAction,它有如下两种可能的取值: queue:将事件保存在事件序列中并等待不可中断回调函数执行完毕后处理。 cancel:放弃该事件并将事件从序列中删除。 执行中断的规则 遇到命令drawnow、figure、getframe、pause或waitfor,MATLAB将该回调函数挂起并开始处理事件序列。 事件序列的顶端事件要求重画图形窗口,MATLAB将执行重画并继续处理事件序列中的
14、下一个事件。 事件序列的顶端事件将会导致一个回调函数的执行,MATLAB将判断回调函数被挂起的对象是否可中断。 当所有事件都被处理后,MATLAB恢复被中断函数的执行。3图形窗口的行为控制 在设计GUI时,需要考虑GUI图形窗口的行为控制,主要包括如下3种情况: 实现图形注释的工具GUI,通常一幅图形需要一个新的工具实例。 询问用户并阻止MATLAB运行直至用户作出回答,此时图形窗口仅可以被观察。 警告用户其指定的操作将会破坏文件的对话框,该对话框能够执行用户所需的操作前强迫用户作出回答。 下面3种技术能够有效地解决上述3种情况。 允许单个或多个GUI实例同时运行。 在显示GUI时阻止MATL
15、AB的运行。 使用模态图形窗口使用户只能与当前执行的GUI进行交互。 编写函数,这些函数都包含在随图形用户界面设计时产生的M文件中。 1图形用户界面打开时自动运行的函数 simple_gui_OpeningFcn(),其具体代码序列如下: 23个按钮的回调函数(Callback),其具体代码序列如下:3下拉菜单的回调函数(Callback),其具体代码序列如下:4菜单项Close的回调函数(Callback),其具体代码序列如下: 最后激活的图形用户界面如下图所示。 当在下拉菜单中选择【sinc】且单击【Mesh】按钮,可得到如下图所示的结果。 当选择【File】菜单下的【Close】选项,图形用户界面将关闭。 关闭guide后,在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中外合作企业合同模板
- 农村购买墓地合同标准文本
- 河道垃圾清运施工方案
- 火星村 和美乡村 创建方案
- 个人签订劳务派遣合同样本
- 无人机行业安全管理总结与计划
- 全包水电合同样本
- 社团活动中的信息共享机制计划
- 运动与健康教育的结合计划
- 内部房转让合同样本
- 南开一模试题及答案物理
- 2025年入团考试练习试题(100题)附答案
- JGJ/T235-2011建筑外墙防水工程技术规程
- (正式版)HG∕T 21633-2024 玻璃钢管和管件选用规定
- 浙江省宁波市鄞州区2023 学年第二学期八年级科学期中考试试卷
- 中华民族共同体概论课件专家版2第二讲 树立正确的中华民族历史观
- IEC61400-3海上风力发电机组设计要求-中文版
- 在教学中如何调动学生的学习积极性
- 危险源风险告知卡(高清版)
- 某企业网络安全建设方案
- 山西某四层框架结构公寓楼施工组织设计(投标文件)
评论
0/150
提交评论