new第6讲MATLAB图形用户界面设计.ppt
《new第6讲MATLAB图形用户界面设计.ppt》由会员分享,可在线阅读,更多相关《new第6讲MATLAB图形用户界面设计.ppt(49页珍藏版)》请在三一办公上搜索。
1、第5章 图形用户界面编程,图形用户界面,所谓用户界面就是用户与计算机交互通信联系的平台。图形用户界面是指包含图形对象的用户界面,MATLAB包含两类基本的图形对象:控件对象和菜单对象。MATLAB提供了“布局编辑器”和“菜单编辑器”等工具设计图形用户界面。,5.1 布局编辑器,MATLAB窗口的File菜单下选New下的GUI,或在MATLAB命令窗口输入guide。,图形对象,工具条:排列、菜单编辑、M文件编辑器、属性观察器、对象浏览器和图形激活钮。,布局区域,GUI制作:需求分析,要点:1)确定需要实现哪些功能;2)确定数据输入/输出方式;3)确定所需的窗口图形元素;4)绘制GUI草图;5
2、)征求用户或他人的意见,并进行修改。,GUI制作:绘制并测试GUI,要点:1)在计算机上实现需求分析绘制的草图,并依据实际情况进行调整;2)从用户使用的角度对GUI进行调试。注:在完成设计与测试之前,不要编码,因为此时编写的代码可能会因设计的更改而失去意义。在GUI测试稳定后编写并测试代码。,GUI设计原则,简单性 简洁、直接、清晰地体现出界面的功能和特征。风格一致性 例如:图形窗口在左,图形控件在右等。易理解性 尽量使用人们熟悉的标志和符号,界面中的动作必须做到及时、连续、可逆,对连续时间长的运算要给出等待时间提示,并允许用户中断等。,5.2 控件对象,选择命令钮单选钮文本框滚动条列表框坐标
3、轴,开关钮复选框标签框架弹出式菜单,控件对象属性:外观及风格控制,BackgrandColor:设置控件的背景色,可以是RGB颜色值,如1 1 0,也可以是短名颜色值,如y,还可以是长名颜色值,如yellow;Cdata:设置显示在控件上图象的颜色值;1行3列。(效果不理想)ForegroundColor:设置控件上显示文本的颜色;SelectHighlight:用于确定空间被选中时是否显示被选中的状态(取值:on、off);String:用于设置控件上显示的文本串;Visible:设置控件的可见状态。,控件对象属性:基本信息属性,Enable:可用状态on;暂停不用状态inactive;不可
4、用状态:off;Parent:控件对象的父对象句柄所在图形窗口对象句柄;Selected:用于确定控件是否被选中;Sliderstep:用于设置滚动条每次移动的步长;Style:用于决定所创建控件的类型;Tag:相当于控件对象的名称,在程序设计时可用来指定控件;TooltipString:设置简单提示信息;UserData:保存与控件对象有关的信息或数据,可通过set和get函数来调用这些信息。,控件对象属性:字体控制属性,FontAngle:用于确定字体的倾斜;FontName:设置字体的名称;FontSize:设置字体的大小;FontUnits:确定字体大小的单位;FontWeight:定
5、义字体的粗细;HorizontalAlignment:定义字符对齐方式。,控件对象属性:回调例程控制,ButtonDownFcn:定义当鼠标在控件对象上按下时执行的回调例程,可以是字符串、MATLAB表达式或M文件的文件名;Callback:定义单击控件时执行的回调例程;CreateFcn:定义在控件对象创建阶段执行的回调例程;DeleteFcn:定义在控件对象删除阶段执行的回调例程;BusyAction:决定回调例程的调用方式,取值有cancel与queue,与Interruptible联合使用;Interruptible:决定回调例程的中断调用模式,如为on则新的回调例程中断当前正在执行的
6、回调例程,如为off则由BusyAction决定调用模式;UIContextMenu:建立与上下文菜单(context menu)对象的联系,其属性的取值为菜单对象句柄。,控件对象属性:当前状态信息属性,ListboxTop:用于显示在列表框最上头的字符串的索引号,默认值为1;是String属性定义的字符串向量的某个元素的索引值。Value:决定空间的当前值;对弹出式菜单控件pop_up menus,该属性为已选中的列表项的索引值。,控件对象属性:当前状态信息属性Max,Max:定义Value属性允许的最大值。在不同的控件类型中,Max有不同的意义:复选框:选中时Value属性的值为Max的值
7、;文本框:Max-Min1则可进行多行输入;列表框:Max-Min1则可允许多个列表项选择;单选钮:选中时Value属性的值为Max的值;滚动条:定义了滚动条变化范围的最大值;开关钮:选中时Value属性的值为Max的值。,控件对象属性:当前状态信息属性Min,Min:定义了Value属性允许的最小值。复选框:未选中时Value属性的值为Min的值;单选钮:未选中时Value属性的值为Min的值;滚动条:定义了滚动条变化范围的最小值;开关钮:未选中时Value属性的值为Min的值。,控件对象属性的操作方式和步骤,命令方式:利用uicontrol建立控件对象时,定义控件属性的属性值;利用set设
8、置、修改属性的属性值;利用get获得属性的属性值。GUI方式:通过Property Inspector GUI设计工具设置控件对象的属性值。程序中控件对象的一般操作步骤:1)获取对象句柄;2)对对象属性进行操作。,MATLAB句柄图形,句柄图形:MATLAB每幅图的每个组成部分是一个对象,每个对象有一个句柄与其相联。MATLAB句柄图体系如下:,图形句柄,在MATLAB中,每个图形对象都由一个数字来表识,称为句柄,用来唯一确定图形对象。计算机屏幕:根对象(Root),句柄为0;图形窗口:句柄为整数;其它:句柄为浮点值。,图形对象句柄的获取,每个对象在创建时可以返回该对象的句柄。例如:h=plo
9、t(0:.1:2*pi,sin(0:.1:2*pi);利用标准对象句柄获取函数获取:gcf:获取当前图形窗口的句柄;gca:获取当前坐标轴的句柄;gco:获取当前图形的当前对象的句柄;gcbf/gcba/gcbo:获取回调例程图形窗口/坐标轴/当前对象的句柄。,图形对象句柄的获取findobj,h=findobj(Propertyname,propertyValue,):获得指定属性Propertyname的属性值为propertyValue对应对象的句柄。h=findobj(objHandle,Propertyname,propertyValue,):同上,但将查找范围限制在objHandl
10、e指定的对象及其子对象中。h=findobj(objHandle,flat,Propertyname,propertyValue,):同上,但将查找范围不包括子对象。h=findobj:返回一个列向量,是根对象及其所有子对象的句柄值。,图形对象句柄的获取举例,%-Executes on button press in pushbutton1.function pushbutton1_Callback(hObject,eventdata,handles)h=findobj(Tag,axes1);x=-pi:0.1:pi;y=sin(x);plot(x,y,Parent,h);,%-Execute
11、s on button press in pushbutton2.function pushbutton2_Callback(hObject,eventdata,handles)h=findobj(Tag,axes2);x=-pi:0.1:pi;y=cos(x);plot(x,y,Parent,h);,对象及属性的操作:删除和拷贝,delete(handle):删除句柄handle对应对象及其子对象;c=copyobj(h,p):复制对象句柄,c为新得到的句柄。如果h和p均为向量,则将h对应的句柄分别作为p各对应对象的子对象的句柄;如果h为向量,p为标量,则将h对应的句柄作为p对应对象的子对象
12、的句柄;如果h为标量,p为向量,则将h对应的句柄分别作为p对应对象的子对象的句柄。,对象及属性的操作copyobj举例,mesh(peaks(30);text(30,20,2,leftarrow peak);h=findobj(String,leftarrow peak);figuremesh(peaks(20);ha=copyobj(h,gca);,对象及属性的操作:创建、设置和获取,h=uicontrol(parent,PropertyName,propertyValue,)缺省parent表示在当前图形窗口创建控件对象。set(handle,PropertyName,propertyVa
13、lue,)用来设置句柄为handle的控件对象的属性值。get(handle,PropertyName)返回句柄为handle的对象中名为PropertyName的属性的属性值。,对象及属性的操作举例,x=0:.1:2*pi;y=sin(x);h_sin=plot(x,y,*);lineWidth=get(h_sin,LineWidth);set(h_sin,Color,1 0.5 0,LineWidth,lineWidth+4);hpop=uicontrol(Style,popup,String,Black|Green|Blue|Red,.Position,340 190 100 150,C
14、allback,setmap,.Tag,popup);,setmap.m文件中的内容:hp=findobj(Tag,popup);val=get(hp,Value);if val=1 set(gca,Color,0,0,0);elseif val=2 set(gca,Color,0 1 0);elseif val=3 set(gca,Color,0 0 1);elseif val=4 set(gca,Color,1 0 0);end,5.3 菜单对象和上下文菜单,在MATLAB中有两类菜单:下拉式菜单uimenu和上下文菜单uicontextmenu。下拉式菜单(菜单对象)的位置是固定的。上下
15、文菜单的位置是不固定的,且总与某个图形对象相联系,通过鼠标右键激活,同时下拉式菜单可为其中的菜单项。,菜单对象的创建,hm=uimenu(h,PropertyName,value,)以h为父对象的句柄创建一个菜单对象,并返回该菜单的句柄。例如:,h0=figure(MenuBar,none,Toolbar,none,Name,Draw Graph);h1=uimenu(h0,Label,Checked,上下文菜单创建,h=uicontextmenu(PropertyName,propertyValue,)一般步骤:1)利用uincontextmenu创建上下文菜单对象;2)利用uimenu制作
16、菜单项;3)利用set将上下文菜单与具体的图形对象联系起来。,上下文菜单创建举例,cmenu=uicontextmenu;hline=plot(1:10,UIContextMenu,cmenu);item1=uimenu(cmenu,Label,dashed,.Callback,set(hline,LineStyle,-);item2=uimenu(cmenu,Label,dotted,.Callback,set(hline,LineStyle,:);item1=uimenu(cmenu,Label,Solid,.Callback,set(hline,LineStyle,-);,利用菜单编辑器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- new MATLAB 图形 用户界面 设计

链接地址:https://www.31ppt.com/p-6513013.html