已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章MATLAB图形用户界面设计11.1菜单设计11.2对话框设计11.3图形用户界面设计工具,用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。图形用户界面(GraphicalUserInterfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。,假如使用者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。MATLAB为表现其基本功能而设计的演示程序demo是使用图形界面的最好范例。MATLAB的用户,在指令窗中运行demo打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。即便比较熟悉MATLAB的使用者,在他初次编写GUI程序时,也会感到棘手。在此提醒使用者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第10章关于图柄的内容。,11.1菜单设计11.1.1建立用户菜单要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。建立一级菜单项的函数调用格式为:一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,)建立子菜单项的函数调用格式为:子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,),图形窗的标准菜单(1)获得缺省设置的标准菜单figure(2)隐去标准菜单的两种方法set(H_fig,MenuBar,none);set(gcf,menubar,menubar);(3)恢复图形窗上标准菜单set(gcf,menubar,figure);,11.1.2菜单对象常用属性菜单对象具有Children、Parent、Tag、Type、UserData、Visible等公共属性,除公共属性外,还有一些常用的特殊属性。例11-1自制一个带下拉菜单表的用户菜单。该菜单能使图形窗背景颜色设置为兰色或红色。figure%创建一个图形窗口h_menu=uimenu(gcf,label,Color);%制作用户顶层菜单项Colorh_submenu1=uimenu(h_menu,label,Blue,.%制作下拉菜单项Bluecallback,set(gcf,Color,blue);%h_submenu2=uimenu(h_menu,label,Red,.%制作下拉菜单Redcallback,set(gcf,Color,red);%,11.1.3快捷菜单快捷菜单是用鼠标右键单击某对象时在屏幕上弹出的菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。在MATLAB中,可以使用uicontextmenu函数和图形对象的UIContextMenu属性来建立快捷菜单,具体步骤为:(1)利用uicontextmenu函数建立快捷菜单。(2)利用uimenu函数为快捷菜单建立菜单项。(3)利用set函数将该快捷菜单和某图形对象联系起来。,例11-2绘制一条Sa曲线,创建一个与之相联系的现场菜单,用以控制Sa曲线的颜色。t=(-3*pi:pi/50:3*pi)+eps;y=sin(t)./t;hline=plot(t,y);cm=uicontextmenu;uimenu(cm,label,Red,callback,set(hline,color,r),)uimenu(cm,label,Blue,callback,set(hline,color,b),)uimenu(cm,label,Green,callback,set(hline,color,g),)set(hline,uicontextmenu,cm),11.2对话框设计11.2.1对话框的控件在对话框上有各种各样的控件,利用这些控件可以实现有关控制。下面先介绍这些控件。(1)按钮(PushButton)。(2)双位按钮(ToggleButton)。(3)单选按钮(RadioButton)。(4)复选框(CheckBox)。(5)列表框(ListBox)。(6)弹出框(PopupMenu)。(7)编辑框(EditBox)。(8)滑动条(Slider)。(9)静态文本(StaticText)。(10)边框(Frame)。,11.2.2对话框的设计1建立控件对象MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为:对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,)其中各个属性名及可取的值和前面介绍的uimenu函数相似,但也不尽相同,下面将介绍一些常用的属性。,2控件对象的属性MATLAB的10种控件对象使用相同的属性类型,但是这些属性对于不同类型的控件对象,其含义不尽相同。除Children、Parent、Tag、Type、UserData、Visible等公共属性外,还有一些常用的特殊属性。,例11-3创建一个界面包含4种控件:静态文本、“无线电”选择开关、双位按键、控件区域框。clfresetset(gcf,menubar,none)set(gcf,unit,normalized,position,0.2,0.2,0.64,0.32);set(gcf,defaultuicontrolunits,normalized)%设置用户缺省控件单位属性值h_axes=axes(position,0.05,0.2,0.6,0.6);t=0:pi/50:2*pi;y=sin(t);plot(t,y);set(h_axes,xlim,0,2*pi);set(gcf,defaultuicontrolhorizontal,left);htitle=title(正弦曲线);set(gcf,defaultuicontrolfontsize,12);%设置用户缺省控件字体属性值uicontrol(style,frame,.%创建用户控件区position,0.67,0.55,0.25,0.25);uicontrol(style,text,.%创建静态文本框string,正斜体图名:,.position,0.68,0.77,0.18,0.1,.horizontal,left);,hr1=uicontrol(gcf,style,radio,.%创建“无线电”选择按键string,正体,.%按键功能的文字标识正体position,0.7,0.69,0.15,0.08);%按键位置set(hr1,value,get(hr1,Max);%因图名缺省使用正体,所以小圆圈应被点黑set(hr1,callback,.%set(hr1,value,get(hr1,max),.%选中将小圆圈点黑set(hr2,value,get(hr2,min),.%将“互斥”选项点白set(htitle,fontangle,normal),.%使图名字体正体显示);hr2=uicontrol(gcf,style,radio,.%创建“无线电”选择按键string,斜体,.%按键功能的文字标识斜体position,0.7,0.58,0.15,0.08,.%按键位置callback,.set(hr1,value,get(hr1,min),.%set(hr2,value,get(hr2,max),.%set(htitle,fontangle,italic),.%使图名字体斜体显示);%ht=uicontrol(gcf,style,toggle,.%制作双位按键string,Grid,.position,0.67,0.40,0.15,0.12,.callback,grid);,11.3图形用户界面设计工具MATLAB的用户界面设计工具共有6个,它们是:(1)图形用户界面设计窗口:在窗口内创建、安排各种图形对象。(2)菜单编辑器(MenuEditor):创建、设计、修改下拉式菜单和快捷菜单。(3)对象属性查看器(PropertyInspector):可查看每个对象的属性值,也可修改设置对象的属性值。(4)位置调整工具(AlignmentTool):可利用该工具左右、上下对多个对象的位置进行调整。(5)对象浏览器(ObjectBrowser):可观察当前设计阶段的各个句柄图形对象。(6)Tab顺序编辑器(TabOrderEditor):通过该工具,设置当用户按下键盘上的Tab键时,对象被选中的先后顺序。,11.3.1图形用户界面设计窗口1GUI设计模板在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。MATLAB为GUI设计一共准备了4种模板,分别是BlankGUI(默认)、GUIwithUicontrols(带控件对象的GUI模板)、GUIwithAxesandMenu(带坐标轴与菜单的GUI模板)与ModalQuestionDialog(带模式问话对话框的GUI模板)。当用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。,2GUI设计窗口在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help6个菜单项,使用其中的命令可以完成图形用户界面的设计操作。,3GUI设计窗口的基本操作在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。例如,创建一个PushButton对象,并设计该对象的属性值。,11.3.2对象属性查看器利用对象属性查看器,可以查看每个对象的属性值,也可以修改、设置对象的属性值,从GUI设计窗口工具栏上选择PropertyInspector命令按钮,或者选择View菜单下的PropertyInspector子菜单,就可以打开对象属性查看器。另外,在MATLAB命令窗口的命令行上输入inspect,也可以看到对象属性查看器。在选中某个对象后,可以通过对象属性查看器,查看该对象的属性值,也可以方便地修改对象属性的属性值。,11.3.3菜单编辑器利用菜单编辑器,可以创建、设置、修改下拉式菜单和快捷菜单。从GUI设计窗口的工具栏上选择MenuEditor命令按钮,或者选择Tools菜单下的MenuEditor子菜单,就可以打开菜单编辑器。菜单编辑器左上角的第一个按钮用于创建一级菜单项。第二个按钮用于创建一级菜单的子菜单。菜单编辑器的左下角有两个按钮,选择第一个按钮,可以创建下拉式菜单。选择第二个按钮,可以创建ContextMenu菜单。选择它后,菜单编辑器左上角的第三个按钮就会变成可用,单击它就可以创建ContextMenu主菜单。在选中已经创建的ContextMenu主菜单后,可以单击第二个按钮创建选中的ContextMenu主菜单的子菜单。与下拉式菜单一样,选中创建的某个ContextMenu菜单,菜单编辑器的右边就会显示该菜单的有关属性,可以在这里设置、修改菜单的属性。菜单编辑器左上角的第四个与第五个按钮用于对选中的菜单进行左移与右移,第六与第七个按钮用于对选中的菜单进行上移与下移,最右边的按钮用于删除选中的菜单。,11.3.4位置调整工具利用位置调整工具,可以对GUI对象设计区内的多个对象的位置进行调整。从GUI设计窗口的工具栏上选择AlignObjects命令按钮,或者选择Tools菜单下的AlignObjects菜单项,就可以打开对象位置调整器。对象位置调整器中的第一栏是垂直方向的位置调整。对象位置调整器中的第二栏是水平方向的位置调整。在选中多个对象后,可以方便的通过对象位置调整器调整对象间的对齐方式和距离。,11.3.5对象浏览器利用对象浏览器,可以查看当前设计阶段的各个句柄图形对象。从GUI设计窗口的工具栏上选择ObjectBrowser命令按钮,或者选择View菜单下的ObjectBrowser子菜单,就可以打开对象浏览器。例如,在对象设计区内创建了3个对象,它们分别是EditText、PushButton、ListBox对象,此时单击ObjectBrowser按钮,可以看到对象浏览器。在对象浏览器中,可以看到已经创建的3个对象以及图形窗口对象figure。用鼠标双击图中的任何一个对象,可以进入对象的属性查看器界面。,11.3.6Tab顺序编辑器利用Tab顺序编辑器(TabOrderEditor),可以设置用户按键盘上的Tab键时,对象被选中的先后顺序。选择Tools菜单下的TabOrderEditor菜单项,就可以打开Tab顺序编辑器。例如,若在GUI设计窗口中创建了3个对象,与它们相对应的Tab顺序编辑器。,例11-5利用GUI设计工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年江苏省南通市海安市十三校联考八年级(下)质检数学试卷(6月份)(含答案)
- Methyl-14-pentadecenoate-生命科学试剂-MCE
- 初中八年级道德与法治《于细节处见尊重:构建和谐人际关系的基石》导学案
- 八年级下册数学期末专题复习“图形与统计”融合教学设计
- 初中八年级生物(北师大版)动物生殖发育知识清单(第2课时)
- 《生物医学工程专业大三:医学信号数据采集系统教案》
- 八年级信息技术项目式教案:基于GeoGebra的勾股定理探究与可视化证明
- 初三物理中考专题复习导学案:电磁现象的探究与应用
- 初三英语中考听力:基于考情诊断与词汇建构的听力能力提升教案
- 初中八年级历史《从计划到市场:中国特色社会主义市场经济体制的建立》导学案
- 雨课堂学堂在线学堂云《审计理论与实务(Theory and Practice of Auditing)(西南政法)》单元测试考核答案
- 广东省深圳市宝安区2024-2025学年七年级下学期语文期末考试试卷(含答案)
- 代理记账公司风控制度
- 屠宰加工厂财务制度内容
- 龋病相关知识
- 拇外翻介绍教学课件
- 2026年事业单位招聘考试公共基础知识试题及答案
- 2026年一级建造师之一建建筑工程实务考试题库500道及答案(真题汇编)
- 杭州萧山技师学院职业教育教师招聘笔试真题2024
- 工程机械维修保养技术标准
- 舞蹈解剖学教学课件
评论
0/150
提交评论