《刘卫国全套配套课件matlab程序设计与应用第3版第11章matlab图形用户界面设计》由会员分享,可在线阅读,更多相关《刘卫国全套配套课件matlab程序设计与应用第3版第11章matlab图形用户界面设计(29页珍藏版)》请在金锄头文库上搜索。
1、第11章 MATLAB图形用户界面设计 11.1 对话框设计 11.2 菜单设计 11.3 可视化图形用户界面设计,11.1 对话框设计, 按钮 双位按钮 单选按钮 复选框 列表框 弹出框 编辑框 滑动条 静态文本 边框。,11.1.1 控件的种类及作用,1建立控件对象 MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为: 对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,) 2控件对象的基本控制属性 Position属性 Units属性 CallBack属性 String属性 Style属性 BackgroundColor属性 Fore
2、groundColor属性,11.1. 2 控件的操作,Max属性和Min属性 Value属性 FontAngle属性 FontName属性 FontSize属性 FontUnits属性 FontWeight属性 HorizontalAlignment属性,3建立控件对象举例 (1)建立按钮和双位按钮 界面包含按钮和双位按钮,当单击该按钮时绘制出正弦曲线,双位按钮用于控制是否给坐标加网格线。程序如下: pbstart=uicontrol(gcf,Style,push,Position,. 50,5,60,25,String,Start Plot,. CallBack,t=-pi:pi/20:p
3、i;plot(t,sin(t); ptgrid=uicontrol(gcf,Style,toggle,Position,. 150,5,60,25,String,Grid,CallBack,grid);,(2)建立单选按钮 界面中的单选按钮用来设置图形窗口的颜色,只能选择一种颜色。 set(gcf,Color,R) %设置默认的背景颜色 htxt=uicontrol(gcf,Style,text,String,. Color Options,Position,200,130,150,20); %建立单选按钮 hr=uicontrol(gcf,Style,radio,String,. Red,P
4、osition,200,100,150,25,Value,1,. CallBack,set(hr,Value,1);,set(hb,Value,0);,. set(hy,Value,0);,set(gcf,Color,R);,(3)建立复选框 界面中的复选框用于设置图形窗口的某些属性,如大小、颜色、标题等。程序如下: htxt=uicontrol(gcf,Style,text,Position,200,125,150,25,. String,Set Windows Properties); hp=uicontrol(gcf,Style,check,Position,. 200,100,150,
5、25,String,MyPosition,. CallBack,set(gcf,Position,10,10,300,250);,. if get(hp,Value)=1,. set(gcf,Position,10,10,600,500),end);,(4)建立弹出框 界面的弹出框列表中包含一组可供选择的颜色。当选择某种颜色时,就将图形窗口的背景色设置为该颜色。 弹出框可选项在String属性中设置,每项之间用竖线字符“|”隔开,并用单撇号将所有的选项括起来。Value属性的值是弹出式列表中选项的序号。例如,如果用户选列表中的第2项,那么Value的属性值就是2。程序如下: hpop=uico
6、ntrol(gcf,Style,popup,String,. red|blue|green|yellow|white,Position,100,100,100,80,. CallBack,cbcol=R,B,G,Y;,. set(gcf,Color,cbcol(get(hpop,Value);,(5)建立列表框 hl=uicontrol(gcf,Style,list,. String,red|blue|green|yellow|white,. Position,100,100,100,80,CallBack,. cbcol=r,b,g,y,w,k;,. set(gcf,color,cbcol(
7、get(hl,value););,(6)建立编辑框及边框 编辑框分多行编辑框与单行编辑框。属性Max与属性Min之差小于或等于1时,为单行编辑框,否则为多行编辑框。 程序如下: ftdir=uicontrol(gcf,Style,frame,. back,y,Position,30,180,120,100); edmulti=uicontrol(gcf,Style,edit,. String,MATLAB is a very useful language.,. Position,50,200,75,55,Max,2,back,w);,(7)建立滑动条 建立两个滑动条,分别用于设置图形窗口的宽
8、度和高度,并利用静态文本说明对象,标出滑动条的数值范围以及当前值。 fig=figure(Position,20,20,400,150); hsli1=uicontrol(fig,Style,slider,Position,. 50,50,120,20,Min,200,Max,800,Value,400,. CallBack,set(azmcur,String,. num2str(get(hsli1,Value);. set(gcf,Position,20,20,get(hsli1,Value),300);); %用静态文本标出最小最大值 azmmin=uicontrol(fig,Style,
9、text,Position,. 20,50,30,20,String,num2str(get(hsli1,Min); azmmax=uicontrol(fig,Style,text,Position,. 170,50,30,20,String,num2str(get(hsli1,Max);,11.1.3 对话框设计实例,例11-1 建立如图11-8所示的数制转换对话框,在左边输入一个十进制整数和216之间的数,单击“转换”按钮能在右边得到十进制数所对应的216进制字符串,单击“退出”按钮退出对话框。,例11-2 建立如图11-9所示的图形演示对话框,在编辑框中输入绘图命令,当单击“绘图”按钮时
10、,能在左边坐标轴绘制出所对应的图形,弹出框提供色图控制,列表框提供坐标网格线和坐标边框控制。,11.2 菜单设计,建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。 建立一级菜单项的函数调用格式为: 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,) 建立子菜单项的函数调用格式为: 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,),11.2.1 建立用户菜单, Label属性 Accelerator属性 CallBack属性 Checked属性 Enable属性 Position
11、属性 Separator属性,11.2.2 菜单对象常用属性,例11-3 建立图形演示系统,系统菜单条中含有3个菜单项:Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容如图11-10所示,其中Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有曲线时才是可选的。Window Color控制图形窗口背景颜色。Quit控制是否退出系统。,11.2.3 快捷菜单,使用uicontextmenu函数和图形对象的UIC
12、ontextMenu属性来建立快捷菜单,具体步骤为: 利用uicontextmenu函数建立快捷菜单。 利用uimenu函数为快捷菜单建立菜单项。 利用set函数将该快捷菜单和某图形对象联系起来。,例11-4 绘制曲线y=2e-0.5xsin(2x),并建立一个与之相联系的快捷菜单,用以控制曲线的线型和曲线宽度。,x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); hl=plot(x,y); hc=uicontextmenu; %建立快捷菜单 hls=uimenu(hc,Label,线型); %建立菜单项 hlw=uimenu(hc,Label,线宽)
13、; uimenu(hls,Label,虚线,Call,set(hl,LineStyle,:);) uimenu(hls,Label,实线,Call,set(hl,LineStyle,-);) uimenu(hlw,Label,加宽,Call,set(hl,LineWidth,2);) uimenu(hlw,Label,变细,Call,set(hl,LineWidth,0.5);) set(hl,UIContextMenu,hc) %将该快捷菜单和曲线对象联系起来,11.3 可视化图形用户界面设计,11.3.1 图形用户界面设计窗口 1图形用户界面设计模板 在MATLAB命令行窗口输入guide
14、命令,或在MATLAB主窗口中选择“主页”选项卡,单击“文件”命令组中的“新建”命令按钮,再选择“应用程序”GUIDE命令,弹出图形用户界面设计模板,2图形用户界面设计窗口 在图形用户界面设计模板中选中一个模板,然后单击“确定”按钮,就会打开图形用户界面设计窗口。选择不同的图形用户界面设计模式时,在图形用户界面设计窗口中显示的结果是不一样的。,11.3.2 可视化图形用户界面设计工具,1对象属性检查器 利用对象属性检查器,可以检查每个对象的属性值,也可以修改、设置对象的属性值。通过双击某个对象,或选中对象后,从图形用户界面设计窗口工具栏上选择“属性检查器”命令按钮 ,或选择“视图”“属性检查器
15、”命令,打开“对象属性检查器”窗口,如图11-15所示。另外,在MATLAB命令行窗口的命令行上输入命令“inspect”,也可以打开对象属性查看器。,2菜单编辑器 利用菜单编辑器,可以创建、设置、修改下拉式菜单和快捷菜单。从图形用户界面设计窗口的工具栏上选择“菜单编辑器”命令按钮 ,或选择“工具”“菜单编辑器”命令,即可打开“菜单编辑器”窗口,3工具栏编辑器 利用工具栏编辑器可以创建、设置、修改工具栏。从图形用户界面设计窗口的工具栏上选择“工具栏编辑器”命令按钮 ,或选择“工具”“工具栏编辑器”命令,即可打开“工具栏编辑器”窗口,4对齐对象工具 利用对齐对象工具,可以对图形用户界面对象设计区内