资源预览内容
第1页 / 共84页
第2页 / 共84页
第3页 / 共84页
第4页 / 共84页
第5页 / 共84页
第6页 / 共84页
第7页 / 共84页
第8页 / 共84页
第9页 / 共84页
第10页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
图形用户界面是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,譬如实现计算、绘图等。若想制作一个供反复使用且操作简单的专用工具,则图形用户界面也许是最好的选择之一。本章重点 GUIDE界面环境 GUI创建过程 GUI菜单设计 对话框设计,第十一章 图形用户界面(GUI)设计,11.1 GUIDE界面环境,MATLAB中的GUIDE提供多种设计GUI模板,并自动生成M文件框架,用户可以在该框架内编写自己的函数代码,实现用户所需要的功能。,11.1.1 GUIDE启动及界面组成,1GUIDE启动 MATLAB图形用户界面开发环境DUIDE(GUI Developer的缩写)提供了一系列图形用户界面GUI的工具,这些工具可以极大简化GUI设计和生成的过程。 打开MATLAB操作桌面主页下的新建按钮 ,从弹出的菜单选择 , 或直接在MATLAB命令行窗口输入guide,都可弹出对话窗“GUIDE Quick Start”界面,如图11-1所示。图11-1 进入GUIDE开发环境的默认引导对话窗,2GUIDE界面组成 “GUIDE Quick Start”界面包括两个选项:“Create New GUI”(创建新的图形用户界面)和“Open Existing GUI”(打开已存在的图形用户界面)。其中“Create New GUI”提供四种基本类型的GUI模板: Black GUI(Default):空白模板(缺省)。 GUI with Uicontrols:带有控件对象的GUI模板。 GUI with Axes and Menu:带有坐标轴与菜单的GUI模板 Modal Question Dialog:问答式对话框的GUI模板。 通过这些模板可快速创建GUI。选定一种模板以后,它的预览效果显示在右边的面板中。譬如选中“GUI with Uicontrols”,显示在面板中的预览效果如图所示11-2所示,图11-2 “GUI with Uicontrols”预览效果图,11.1.2 输出编辑器,在“GUIDE Quick Start”对话窗中,点击“Create New GUI”选项卡,选择“Black GUI”选项,打开的就是“带有空白GUI模板的输出编辑器”窗口,如图11-3所示。图11-3 输出编辑器窗口及功能,(1)控件与组件 打开图11-3中的【FilePreferencesGUIDE】勾选【show names in component palette】,则在输出编辑器界面上显示GUI各控件名称,包括触控按钮、开关按钮、单选框、复选框、文本编辑器、静态文本框、滑动条、列表框、弹出式菜单、表格、坐标轴、面板、按钮组、ActiveX控件等,如图11-4所示。,(2)GUI设计版面 GUI设计版面是GUI布局区,即中间位置全部空白处,用于摆放GUI控件对象。,(3)对象对齐(Align Objects) 对象对齐主要用来将所选择的控件对齐。对齐方式有垂直(Vertical)和水平(Horizontal)两种,其中【Align】表示选中的控件组以何种方式对齐,包括上对齐、下对齐、左对齐、右对齐和居中等;【Distuibute】则是设置控件在指定方向上的间隔,如图11-5所示。,图11-5 对象对齐方式,(4)菜单编辑器(Menu Editor) 菜单编辑器用于建立菜单栏和右键菜单。点击工具栏上的菜单编辑器图标 ,打开菜单编辑器“Menu Editor”窗口,如图11-6所示,图中已给出了工具栏图标的功能。图11-6 菜单编辑器窗口,在操作时点击【To add a menu,】处,或者工具栏中的图标 ,则窗口中出现菜单图标【 Untitled 1】,再点击图标【 Untitled 1】,则显示带有菜单属性【Menu Properties】的界面,如图11-7所示。图11-7 带有属性的菜单编辑器窗口,其中,面板【Menu Properties】包括【Label:设定菜单名】、【Tag:设定菜单识别名】、【Accelerator: Ctrl+ :设定快捷键】、【Separator above this item:与上一选项之间是否隔开】、【Check mark this item:设置是否标记该选项】、【Enable this item:设置该选项是否可选】、【View:设置回调函数】和【More Properties:打开属性浏览器】等属性。,(5)工具条编辑器(Toolbar Editor) 工具条编辑器用于定制自定义的工具栏,由工具面板(Tool Palette)、属性面板(Tool Properties与Toolbar Properties)和工具栏布局预览区等板块组成,其中工具面板包括用户自创工具(Custom Tools)和标准工具(Predefined),如图11-8所示。它不能用来修改MATLAB内建的标准工具栏,但可以用来增加、修改、和删除自定义的工具栏。,(6)M文件编辑器 点击M文件编辑器,系统自动产生M文件(或打开已建立的M文件),如图11-9所示。文件内的程序包括各种控件的回调函数和注释等。用户只需在各控件的回调函数下面填写代码,通过编写程序来控制控件的动作。在系统运行过程中当触发到某控件时,相应的回调函数就会执行。控件的属性tag是唯一标识符,通过它来识别控制对象。,(7)属性查看器 属性查看器是用来查看、设置或修改控件的属性。点击工具栏属性查看器弹出界面figure的属性窗口,如图11-10所示。它常用来修改界面的名称,如将【Name】处的“untitled”改为中文名称。若选中界面中的某一控件,再点击属性查看器,则弹出这一控件的属性窗口。譬如触控按钮【Push Button】的属性窗口如图11-11所示。,11.1.3 控件功能与属性,1控件与组件的功能 输出编辑器中的控件大致可分为两种:一种为动作控件,鼠标点击这些控件时会产生相应的响应;另一种为静态控件,是一种不产生响应的控件,如文本框等。控件的功能如表11-1所示。,(2)控件属性 每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,即属性。修改控件属性可调用属性查看器(Property Inspector),其包括属性名和属性值,表11-2中给出了【Push Button】属性说明。,11.1.4 界面的存储及运行,保存的同时会在当前路径下自动产生两个文件:一个是“gui. fig”文件,另一个是“gui.m”文件。其中,“gui.fig”文件包含对GUI和GUI组件的完整描述,它也是打开输出编辑器界面“gui.fig”窗口的文件;“gui.m”文件包含控制GUI的代码、组件的回调函数。,11.1.5 回调函数,实现GUI的基本机制是对控件的Callback(回调函数)属性编程,当在设计界面上选中一个控件后,选择菜单栏中的“View”“View Callbacks”命令,或点击鼠标右键,从弹出的活动菜单选择“View Callback”,就会出现“Callbacks”、“CreateFcn”、“DeleteFcn”、“ButtonDownFcn”和“KeyPressFcn”子选单项,这些选项都是用来编写回调函数的,其作用如下:, CallBack:为一般回调函数,因不同的控件而不同,譬如,按钮被按下时发生、下拉框改变值时发生、sliderbar 拖动时发生等等。大多数MATLAB程序代码都在这里编写,它实现诸多功能。 CreateFcn:是在控件对象创建的时候发生(一般为初始化样式,颜色,初始值等)。 DeleteFcn:是在空间对象被清除的时候发生。 ButtonDownFcn:为鼠标点击事件的回调函数。 KeyPressFcn:为按键事件的回调函数。,回调函数(CallBack)包含在由GUEDE形成的M文件当中,GUIDE会自动生成相应的函数体、函数名,名称一般是控件“Tag+Call”类型名,参数有三个(hObject, eventdata, handles),其中 hObject 为发生事件的源控件,eventdata为事件数据结构,handles为传入的对象句柄。具体格式为:,11.2 GUI的创建过程,下面以简单的“四则运算器”界面为例,说明用GUIDE创建GUI的全过程。1打开输出编辑器 点击MATLAB主界面工具栏GUIDE图标 ,打开如图11-1的窗口,选择空模板【Blank GUI】,点击【OK】,即可打开如图11-3所示的GUIDE的输出编辑器设计界面“untitled.fig”。,2界面布局 添加需要的控件摆放到输出编辑器“untitled.fig”中合适的位置,对多个同样的控件,为摆放整齐,可以打开工具栏中的对象对齐(Align Objects)图标 ,进行各种方式处理。并可用鼠标选中右下角的版面大小控制句柄来缩放版面。 选择5个静态文本框【Static Text】,其中4个用来做文本标签,一个用来显示结果;2个编辑文本框【Edit Text】,用来输入数据;2个面板【Panel】和4个触控按钮【Pushbutton】,分别用鼠标拖到“untitled.fig”窗口中,其摆放位置如图1-15所示。,3编辑控件的属性 利用属性查看器(Property Inspector),设置各个控件的参数(见表11-3所示),到此为止我们完成了用GUIDE创建GUI的整个过程,这也是利用MATLAB GUI开发软件系统的步骤。为提高系统界面的可读性,开发完整个系统之后,可将界面标题改成中文名称。,11.3 GUI菜单设计,11.4 对话框设计,利用MATLAB编程GUI时,我们可能需要很多对话框给用户进行提示信息,供用户进行选择。对话框带有提示信息和按钮等控件,MATLAB提供了多种创建专用对话框的命令。1信息对话框(msgbox) 格式:msgbox(Message,Title,Icon) 说明:Message表示显示的信息(字符串);Title表示对话框标题(字符串);Icon表示对话框图标,可选择none(默认值,无图标)、error(错误提示图标)、help(帮助提示图标)、warn(警告提示图标)和custom(用户自创图标)。 例如:msgbox(欢迎进入GUIDE界面,GUI,warn),图11-42 信息对话框,信息对话框不接受用户的任何输入,在用户单击“OK”按钮后,对话框自动关闭,然后返回程序中继续执行。,2错误对话框(errordlg) 格式:errordlg(ErrorString,DlgName) 说明:ErrorString表示显示错误信息的字符串;DlgName表示对话框标题(字符串)。 例如: errordlg(这是一个错误对话框,MATLAB error) 显示结果如图11-43所示。,3警告对话框(warndlg) 格式:warndlg(WarnString,DlgName ) 说明:WarnString表示显示警告信息的字符串;DlgName表示对话框标题(字符串) 例如: warndlg(这是一个警告对话框,MATLAB warning) 显示结果如图11-44所示。,图11-44警告对话框,4帮助对话框(helpdlg) 格式:helpdlg(HelpString,DlgName) 说明:HelpString表示显示帮助信息的字符串;DlgName表示对话框标题(字符串)。 例如:helpdlg(你需要帮助吗?,MATLAB Help)图11-45 帮助对话框,5进度条对话框(waitbar) 格式:waitbar(X, title) 说明:X为进度条的比例长度,其值必须在0都1之间;title:显示提示信息 例如:waitbar(0,请稍等)图11-46 进度条对话框,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号