MATLAB用户界面设计.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 用户界面 设计
- 资源描述:
-
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,MATLAB,图形用户界面设计,MATLAB,图形界面中各对象关系,根对象,root,图形窗口对象,figure,右键菜单对象,uicontextmenu,菜单对象,uimenu,控件对象,uicontrol,坐标轴对象,axes,线对象,line,文字对象,text,表面图对象,surface,图像对象,image,光源对象,light,两种界面创建方式:,交互式工具创建,命令创建界面,1,、窗口对象及其属性设定,1.1,窗口对象的建立,hwin,=figure(,属性,1,,属性值,1,,属性,2,,属性值,2,,,),hwin,为图形窗口的句柄,,matlab,环境允许打开多个窗口,每个窗口都对应自己的句柄,通过该句柄可以进一步对窗口的属性等进行操作。,hwin,=,gcf,获得当前窗口的句柄。,1.2,图形窗口的属性,常用属性,color,属性,由红绿蓝三原色组成,取值范围为,0,到,1,。,menubar,属性,设置菜单条的形式。,MenuBar,属性的取值可以是,figure(,缺省值,),或,none,。用来控制图形窗口是否应该具有菜单条。如果它的属性值为,none,,则表示该图形窗口没有菜单条。这时用户可以根据后面将介绍的,uimenu,(),函数来加入自己的菜单条,如果属性值为,figure,,则该窗口将保持图形窗口默认的菜单条,这时也可以采用,uimenu,(),函数在原默认的图形窗口菜单后面添加新的菜单项。,name,属性,设置图形窗口的标题栏中标题内容,其属性值为一字符串。,numbertitle,属性,是否显示图形窗口标题栏中的图形标号。,Name,属性的取值可以是任何字符串,它的缺省值为空。这个字符串作为图形窗口的标题。一般情况下,其标题形式为:“,Figure 1:,字符串。,units,属性,设定图形单位。如:,pixels,(象素点)、,inches,(英寸)、,centimeters,(厘米)、,normalized,(归一值)等,position,属性,设定窗口的位置和大小,为,14,向量,前两个值为窗口左下角横纵坐标值,后两个元素值为窗口的宽度和高度,其单位由,units,属性设定。,resize,属性,确定是否可以改变图形窗口的大小。,toolbar,属性,是否显示工具条。,visible,属性,决定窗口是否为可见。,Pointer,属性,设置鼠标的显示形式。,回调函数(,callback function,),一旦某一对象指定的事件发生,将自动调用某指定的函数,它可以是,matlab,文件,也可以是一组,matlab,程序,。,CloseRequestFcn,关闭窗口时响应函数,KeyPressFcn,键盘按下时响应函数,windowButtonDownFcn,-,鼠标按下时响应函数,WindowButtonMotionFcn,-,鼠标移动时响应函数,CreateFcn,和,DeleteFcn,-,建立和删除对象时响应函数,CallBack,-,对象被选中时响应函数,实例:,gwin,=,figure(visible,off,);,pause,set(gwin,color,1,0,0,position,100,200,300,300,.,name,My,program,numbertitle,off,menubar,none,);,set(gwin,visible,on,),set(gwin,windowbuttondownfcn,helpdlg(mouse,button down!),set(gwin,keypressfcn,helpdlg(keyboard,pressed!),例,1,建立一个图形窗口。该图形窗口没有菜单条,标题名称为“我的图形窗口”,起始于屏幕左下角、宽度和高度分别为,450,像素点和,260,像素点,背景颜色为绿色,且当用户从键盘按下任意一个键时,将在该图形窗口绘制出正弦曲线,点击鼠标时绘制余弦曲线。,hf,=figure(Color,0,1,0,Position,1,1,450,260,.,Name,我的图形窗口,NumberTitle,on,MenuBar,none,.KeyPressFcn,plot(sin(0:0.01:2*pi),WindowButtonDownFcn,plot(cos(0:0.1:2*,pi),r,*);,1.3,标准对话框及其调用,1.,文件名操作函数,uigetfile,(),函数打开一个文件进行读、写的对话框。,fname,pname,=,uigetfile(ffilter,strtitle,x,y,),ffilter,为文件名过滤器;,strtiltle,为对话框窗口标题栏的显示内容;,x,、,y,为对话框出现的位置,省略则采用默认位置。返回文件名字和路径,f,p,=,uigetfile,(*.m;*.txt,请选择一个文件,),f=,fileprint.m,p=,E:MATLABR11work,2.,颜色设置对话框,c=,uisetcolor,;,或,c=uisetcolor(c0);,函数返回一个,13,的颜色向量,分别对应红、绿、蓝三原色,按下“取消”按钮后返回空的向量;如果给出向量,c0,,则在图中指向,c0,所定义的颜色位置,且按下“取消”按钮时返回,c0,的值。,3.,字体设置对话框,h_Font,=,uisetfont,或,h_Font,=,uisetfont(h_Text,strTitle,),h_Font,为字体属性的结构体;,h_Text,为要设置的字符句柄,,strTitle,为对话框的标题栏内容。,s=,uisetfont,s=,FontName,:,楷体,_GB2312,FontUnits,:points,FontSize,:42,FontWeight,:bold,FontAngle,:normal,4.,警告与错误信息对话框,warndlg,和,errordlg,函数,格式:,warndlg,(,警告信息,,对话框名字,),errordlg,(,错误信息,,对话框名字,),二者的显示图标不同。,例:,h=warndlg(error:,code1111.,Warning),h=errordlg(error:,code 1111.,Error),5.,帮助信息对话框,与警告、错误信息对话框基本一致,仅仅是图标的不同。,例:,h=,helpdlg,(,帮助信息:,帮助信息对话框和警告错误对话框基本一致,只是图标不同!,帮助,),6.,通用信息框,msgbox,(,显示信息,标题,图标,),图标包括:,Error,、,Help,、,Warn,以及,Custom,,如果缺省则为,None,。,data=1:64;data=(data*data)/64;,msgbox(This,is an example of,msgbox!,custom,ico,custom,data,hot(64),1.4,Matlab,图形界面基本控件,1.,常用控件,静态文本,static text,一般用来作为信息提示用。,编辑框,edit text,读取用户数据的文字窗口。,面板,panel,概括一组控件,也可以修饰用。,列表框,listbox,包含多个选项供用户选择。,滚动条,slider,图示某个范围。,按钮,pushbutton,其上的字符说明其作用。,切换按钮,toggle button,两状态按钮,单击改变其状态。,收音机按钮,radiobutton,一组选项,其中只能有一个被选中。,复选框,check button,一组选项,可以选择多项。,弹出式菜单,popupmenu,选中时打开一个列表。,2.2,控件对象的属性,控件对象的属性分为两大类:,第一类是所有控件对象都具有的公共属性,第二类是把控件对象作为图形对象所具有的专有特性,(1),公共属性,对象常用的公共属性:,Children,属性:取值为空阵,控件对象没有子对象,Parent,属性:某个图形窗口的句柄值,Tag,属性:取值为字符串,定义了该控件的一个标识值,所有,程序通过标识值来找出控件对象,Type,属性:取值总是,uicontrol,,表明图形对象的类型,UserData,属性:一个矩阵,可以在此属性保存与该控件对象相,关的重要数据或信息,借此传递数据或信息,Visible,属性:可视化与否,2.,控件的常用属性,Units,与,position,属性,意义同上,这里的位置是相对该窗口的左下角;,String,属性,标注在控件上,用来说明或提示;,Callback,属性,实现该控件的实质性功能;,Enable,属性,该控件的使能状态,on,或,off,tag,属性,同上,例,1,:,h_main,=,figure(name,a,demo of,gui,design,menubar,none,numbertitle,off,position,100 100 300 100);,h_edit,=uicontrol(style,edit,backgroundcolor,1 1 1,position,20 20 50 20,.,tag,myedit,string,1,horizontalalignment,left);,h_but1=uicontrol(style,pushbutton,position,20 50,50,20,string,INC,.,callback,v,=,eval(get(h_edit,string,);,.,set(h_edit,string,int2str(v+1););,h_but2=uicontrol(style,pushbutton,position,80 50,50,20,string,DEC,.,callback,v,=eval(get(h_edit,string);,set(h_edit,string,int2str(v-1););,设计为函数文件:,function gui_counter1(),%,gui_counter,is a demo of,gui,design.,h_main,=,figure(name,a,demo of,gui,design,menubar,none,.,numbertitle,off,position,100 100 300 100);,h_edit,=uicontrol(style,edit,backgroundcolor,1 1 1,position,20 20 50 20,.,tag,myedit,string,1,horizontalalignment,left);,h_but1=uicontrol(style,pushbutton,position,20 50,50,20,string,INC,.,callback,h,=,findobj(gcf,tag,myedit);,v,=,eval(get(h,string,);,.,set(h,string,int2str(v+1););,h_but2=uicontrol(style,pushbutton,position,80 50,50,20,string,DEC,.,callback,h,=,findobj(gcf,tag,myedit);,v,=,eval(get(h,string,);,.,set(h,string,int2str(v-1););,例,2,function,gui_demo,(),%,GUI_demo,is another demo of GUI design.,h_main,=figure(units,normalized,position,0.3 0.3 0.5 0.4,.,name,GUI,demostration,numbertitle,off,);,h_axis,=axes(units,normalized,position,0.3 0.15 0.6 0.7,.,tag,axplot,xlim,0 10,ylim,-1 1);,t=0:0.1:10;y=,sin(t);line(t,y,);,bmp1=imread(1.bmp);bmp2=imread(2.bmp);,bmp3=imread(3.bmp);bmp4=imread(4.bmp);,h_1=,uicontrol(style,pushbutton,units,normalized,.,position,0.1 0.6 0.06 0.1,cdata,bmp1,.,callback,zoom,on,tooltipstring,Enable,zooming);,h_2=,uicontrol(style,pushbutton,units,normalized,.,position,0.04 0.45 0.06 0.1,cdata,bmp2,.,callback,zoom,xon,tooltipstring,Enable,zoom on x-axis only);,h_3=,uicontrol(style,pushbutton,units,normalized,.,position,0.16 0.45 0.06 0.1,cdata,bmp3,.,callback,zoom,yon,tooltipstring,Enable,zoom on y-axis only);,h_4=,uicontrol(style,pushbutton,units,normalized,.,position,0.1 0.3 0.06 0.1,cdata,bmp4,.,callback,zoom,off,tooltipstring,Disable,zooming);,1.5.,坐标轴对象,建立坐标轴对象使用,axes,函数,调用它的命令形式为:,句柄变量,=axes(,属性名,1,,属性值,1,,属性名,2,,属性值,2,,,),MATLAB,为每个坐标轴对象提供了很多属性。除公共属性外,还有其他常用属性。,例,利用坐标轴对象实现图形窗口的任意分割。,程序如下(,my_figure.m,):,clf,;%,清图形窗口,x=linspace(0,2*pi,20);,y=,sin(x,);,figure,axes(Posi,0.2,0.2,0.2,0.7);,plot(y,x,);,title(sin(x)-1);,axes(Posi,0.4,0.5,0.2,0.09);,stairs(x,y,);,title(sin(x)-2);,axes(Posi,0.55,0.6,0.25,0.3);,stem(x,y);title(sin(x)-3);,axes(Posi,0.55,0.2,0.25,0.2);,stem(x,y,);,title(sin(x)-4);,1.6.,曲线对象,建立曲线对象使用,line,函数,调用它的命令形式为:,句柄变量,=line(x,y,z,属性名,1,,属性值,1,,属性名,2,,属性值,2,,,),其中对,x,y,z,的解释与高层曲线函数,plot,和,plot3,等一样,其余的解释与前面介绍过的,figure,和,axes,函数类似。每个曲线对象也具有很多属性。除公共属性外,还有其他常用属性。,1.7.,文字对象,使用,text,函数可以根据指定位置和属性值添加文字说明,并保存句柄。调用该函数的命令形式为:,句柄变量,=text(x,y,z,说明文字,属性名,1,,属性值,1,,属性名,2,,属性值,2,,,),其中说明文字中除使用标准的,ASCII,字符外,还可使用,LATEX,格式的控制字符。,除公共属性外,文字对象还有其他常用属性。,1.8.,曲面对象,建立曲面对象使用,surface,函数,调用它的命令形式为:,句柄变量,=surface(x,y,z,属性名,1,,属性值,1,,属性名,2,,属性值,2,,,),其中对,x,y,z,的解释与高层曲面函数,mesh,和,surf,等一样,其余的解释与前面介绍过的,figure,和,axes,等函数类似。,每个曲面对象也具有很多属性。除公共属性外,还有其他常用属性。,例,x,y,=meshgrid(-2:.4:2);,z=x.*exp(-x.2-y.2);,fh,=figure(Position,350 275 400 300,Color,w);,ah=axes(color,.8.8.8,XTick,-2-1 0 1 2,YTick,-2-1 0 1 2);,sh,=,surface(Xdata,x,Ydata,y,Zdata,z,.,Facecolor,get(ah,Color)+.1,Edgecolor,k,Marker,o,.,MarkerFaceColor,.5 1.85);,surf(x,y,z,),例,利用曲面对象绘制三维曲面,z=,sin(y)cos(x,),。,程序如下:,x=0:0.1:2*pi;,x,y,=,meshgrid(x,);,z=,sin(y,).*,cos(x,);,axes(view,-37.5,30);,hs,=,surface(x,y,z,FaceColor,w,EdgeColor,flat,);,grid on;,xlabel(x,-axis),ylabel(y,-axis),zlabel(z,-axis);,title(mesh,-surf);,pause,set(hs,FaceColor,flat,);,2.,菜单设计,MATLAB,的各个图形窗口有自己的菜单栏,包括,File,、,Edit,、,Windows,和,Help,等菜单项。为了建立用户自己的菜单系统,可以先将图形窗口的,MenuBar,属性事先设置为,none,,,以取消图形窗口缺省的菜单,然后再建立用户自己的菜单。,2,、菜单设计,1.,建立用户菜单,要建立用户菜单可用,uimenu,函数,因其调用方法不同,该函数可以用于建立菜单条中的菜单项和子菜单中的菜单项。建立菜单条的函数调用形式为:,菜单项句柄,=,uimenu,(,图形窗口句柄,属性名,1,,属性值,1,,属性名,2,,属性值,2,,,),建立子菜单的函数调用形式为:,子菜单句柄,=,uimenu,(,父菜单句柄,属性名,1,,属性值,1,,属性名,2,,属性值,2,,,),2,、菜单设计,2.,菜单对象常用属性,(,1,),Tag,属性,Tag,属性的取值是字符串,它定义了该菜单对象的一个标识值。定义了,Tag,属性后,在任何程序中都可以通过这个标识值找出该菜单对象。,(,2,),Type,属性,Type,属的取值总是,uimenu,,这个属性值标明图形对象的类型。对菜单对象,其类型就是,uimenu,,用户不能改写这个属性,。,(,3,),UserData,属性,UserData,属性的取值是一个矩阵,缺省值为空矩阵,用户可以在这个属性中保存与该菜单对象相关的重要数据或信息,借此可以达到传递数据或信息的目的。可以用,set,和,get,函数访问该属性。,二、菜单设计,菜单条中含有,File,和,Help,两个菜单项。如果选择,File,中的,New,选项,则将显示,New Item,字样,如果选择,File,中的,Open,选项,则将显示出,Open Item,字样。,File,中的,Save,菜单项初始时处于禁选状态,在选择,Help,选项之后将此菜单项恢复成可选状态,如果选择,File,中的,Save As,选项,则将显示,Save As Item,字样。如果选择,File,中的,Exit,选项,则将关闭当前窗口。如果选择,Help,中,About,选项,则将显示,Help Item,字样,并将,Save,菜单设置成可选状态。,【,例,2】,建立一个菜单系统。,二、菜单设计,程序如下:,screen=get(0,ScreenSize);,W=screen(3);H=screen(4);,hf,=figure(Color,1,1,1,Position,1,1,0.4*W,0.3*H,.,Name,菜单设计示例一,NumberTitle,off,MenuBar,none,);,hfile,=,uimenu(hf,label,&File,);,hhelp,=,uimenu(hf,label,&Help,);,uimenu(hfile,label,&New,call,disp(New,Item);,uimenu(hfile,label,&Open,call,disp(Open,Item);,hsave,=,uimenu(hfile,label,&Save,Enable,off,);,uimenu(hfile,label,Save,&,As,call,disp(Save,As Item);,uimenu(hfile,label,&Exit,separator,on,call,close(hf,);,uimenu(hhelp,label,About,.,call,.,disp(Help,Item);,set(hsave,Enable,on,);,7.3 GUIDE,(,Matlabs,Graphics User Interface(,GUI)Design,Environment,)工具,两种方式打开:,命令窗口:,guide,从,start/MATLAB/GUIDE,打开,选择四种类型的新建界面:,空白界面,具有图形控件的界面,具有菜单和坐标轴的界面,模式对话框,进入空白界面,控件面板:,推按钮,单选按钮,文本框等,画 布,工具按钮,工具按钮从左到右:,对齐工具,/,菜单编辑器,/tab,次序定义,/M,文件编辑器,/,属性查看器,/,对象浏览器,/,激活工具,7.4,创建图形用户界面外观,例,7-13,(,p307,)(见,mygui.m/mygui.fig,),创建步骤,:,1,、界面设计:界面空间的布局、空间大小等进行设计,2,、利用,GUIDE,的外观编辑功能在界面绘制需要的控件,并设定合适的位置和大小,3,、设置控件的属性:回调函数,标签和文本等,4,、根据要求功能进行,m,语言编程,展开阅读全文

咨信网声明:本文档由用户上传并分享,仅供学习交流、研究之用,未经授权,严禁复制、发行、汇编、翻译或网络传播等,侵权必究。
咨信网小贴示:
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】
1、浏览或下载可查看了解,请点击【咨信网告知】。
2、下载文件中如有侵权或不适当内容,将立即纠正。
3、如果因为网速或其他原因下载失败请重新下载,重复下载[60天内]不扣币。
4、开具发票登录电脑端申请,请点击【索取发票】。
咨信网客服组:【微信客服】


MATLAB用户界面设计.ppt
















自信AI助手














微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/14754490.html