欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第五讲图形用户界面编程课件.ppt

    • 资源ID:40174310       资源大小:1.80MB        全文页数:36页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第五讲图形用户界面编程课件.ppt

    第五讲图形用户界面编程第1页,此课件共36页哦MATLAB图形界面中各对象关系根对象root图形窗口对象figure右键菜单对象uicontextmenu菜单对象uimenu控件对象uicontrol坐标轴对象axes线对象line文字对象text表面图对象surface图像对象image光源对象light第2页,此课件共36页哦窗口对象及其属性设定n窗口对象的建立 hwin=figure(属性1,属性值1,属性2,属性值2,)hwin为图形窗口的句柄,matlab环境允许打开多个窗口,每个窗口都对应自己的句柄,通过该句柄可以进一步对窗口的属性等进行操作。hwin=gcf 获得当前窗口的句柄。第3页,此课件共36页哦n图形窗口的属性第4页,此课件共36页哦n常用属性 color属性 由红绿蓝三原色组成,取值范围为0到1。menubar属性 设置菜单条的形式。name属性 设置图形窗口的标题栏中标题内容,其属性值为一字符串。numbertitle属性 是否显示图形窗口标题栏中的图形标号。units属性 设定图形单位。如:pixels(象素点)、inches(英寸)、centimeters(厘米)、normalized(归一值)等第5页,此课件共36页哦 position属性 设定窗口的位置和大小,为14向量,前两个值为窗口左下角横纵坐标值,后两个元素值为窗口的宽度和高度,其单位由units属性设定。resize属性 确定是否可以改变图形窗口的大小。toolbar属性 是否显示工具条。visible属性 决定窗口是否为可见。Pointer属性 设置鼠标的显示形式。第6页,此课件共36页哦对象属性的修改n改变对象的属性值 set(对象句柄,属性1,属性值1,属性2,属性值2,)属性的名称用单引号括起来;如果不给出属性值,则返回全部允许的属性值。n获得对象的属性值 V=get(句柄名,属性)?gwin=figure(visible,off);?set(gwin,color,1,0,0,position,100,200,300,300,.name,My program,numbertitle,off,menubar,none);?set(gwin,visible,on)第7页,此课件共36页哦回调函数(callback function)nCloseRequestFcn关闭窗口时响应函数nKeyPressFcn键盘按下时响应函数nwindowButtonDownFcn-鼠标按下时响应函数nWindowButtonMotionFcn-鼠标移动时响应函数nCreateFcn和DeleteFcn-建立和删除对象时响应函数nCallBack-对象被选中时响应函数第8页,此课件共36页哦?gwin=figuregwin=1?set(gwin,windowbuttondownfcn,helpdlg(mouse button down!)?set(gwin,keypressfcn,helpdlg(keyboard pressed!)一旦该对象指定的事件发生,将自动调用某指定的函数,它可以是matlab文件,也可以是一组matlab程序。第9页,此课件共36页哦标准对话框及其调用n文件名操作函数 uigetfile()和uiputfile()函数打开一个文件进行读、写的对话框。fname,pname=uigetfile(ffilter,strtitle,x,y)ffilter为文件名过滤器;strtiltle为对话框窗口标题栏的显示内容;x、y为对话框出现的位置,省略则采用默认位置。第10页,此课件共36页哦?f,p=uigetfile(*.m;*.txt,请选择一个文件)f=fileprint.mp=E:MATLABR11work第11页,此课件共36页哦n颜色设置对话框 c=uisetcolor;或 c=uisetcolor(c0);函数返回一个13的颜色向量,分别对应红、绿、蓝三原色,按下“取消”按钮后返回空的向量;如果给出向量c0,则在图中指向c0所定义的颜色位置,且按下“取消”按钮时返回c0的值。第12页,此课件共36页哦n字体设置对话框 h_Font=uisetfont 或 h_Font=uisetfont(h_Text,strTitle)h_Font为字体属性的结构体;h_Text为要设置的字符句柄,strTitle为对话框的标题栏内容。?s=uisetfonts=FontName:楷体_GB2312 FontUnits:points FontSize:42 FontWeight:bold FontAngle:normal第13页,此课件共36页哦n警告与错误信息对话框 warndlg和 errordlg函数 二者的显示图标不同。例:?h=warndlg(error:,code 1111.,Warning)?h=errordlg(error:,code 1111.,Error)第14页,此课件共36页哦n帮助信息对话框 与警告、错误信息对话框基本一致,仅仅是图标的不同。例:?h=helpdlg(帮助信息:,帮助信息对话框和警告错误对话框基本一致,只是图标不同!,帮助)第15页,此课件共36页哦n通用信息框 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)第16页,此课件共36页哦Matlab图形界面基本控件静态文本text 一般用来作为信息提示用。编辑框edit 读取用户数据的文字窗口。框架 frame 概括一组控件,也可以修饰用。列表框list 包含多个选项供用户选择。第17页,此课件共36页哦滚动条slider 图示某个范围。按钮pushbutton 其上的字符说明其作用。切换按钮toggle 两状态按钮,单击改变其状态。收音机按钮radio 一组选项,其中只能有一个被选中。检取框check 一组选项,可以选择多项。弹出式菜单popup 选中时打开一个列表。第18页,此课件共36页哦控件的常用属性Units与position属性 意义同上,这里的位置是相对该窗口的左下角;String属性 标注在控件上,用来说明或提示;Callback属性 实现该控件的实质性功能;Enable属性 该控件的使能状态on或off第19页,此课件共36页哦Cdata属性 真彩色位图,为一三维数组,用于美化界面;Tooltipstring属性 鼠标指针位于该控件时的提示信息显示;Interruptable属性 是否中断当前回调函数的执行,on或off字体属性 设置字体第20页,此课件共36页哦n例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););第21页,此课件共36页哦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););第22页,此课件共36页哦n例2function 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);第23页,此课件共36页哦第24页,此课件共36页哦Matlab菜单系统设计n菜单系统的生成 菜单项句柄=uimenu(窗口句柄,属性1,属性值1,属性2,属性值2,)子菜单句柄=uimenu(菜单项句柄,属性1,属性值1,)属性:菜单条名称label回调函数callback第25页,此课件共36页哦热键名称accelerator背景颜色backgroundcolor前景颜色foregroundcolor选中状态checked使能状态enabled菜单条位置position分隔符separator第26页,此课件共36页哦ctxmenu=uicontextmenu;set(gcf,uicontextmenu,ctxmenu);uimenu(ctxmenu,label,zoom on,callback,zoom on);uimenu(ctxmenu,label,x-axis zoom on,callback,zoom xon);uimenu(ctxmenu,label,y-axis zoom on,callback,zoom yon);uimenu(ctxmenu,label,zoom off,callback,zoom off);uimenu(ctxmenu,label,checked,checked,on,separator,on);uimenu(ctxmenu,label,disabled,enable,off);第27页,此课件共36页哦GUI设计工具简介n guide GUI向导设计器。第28页,此课件共36页哦属性设计器(Property Editor)n设置所选图形对象或GUI控件各属性的值第29页,此课件共36页哦控件布局编辑器(Alignment Tool)n设置控件的布局第30页,此课件共36页哦菜单编辑器(Menu Editor)n编辑菜单项第31页,此课件共36页哦回调函数编辑器(Callback Editor)n编辑控件属性所对应的回调函数第32页,此课件共36页哦n例:示意小球碰撞过程出射角上挡板下挡板第33页,此课件共36页哦h1=line(0,1,-0.09*1 1);set(h1,linewidth,5);h2=line(0,1,1.09*1 1);set(h2,linewidth,7);uu=0 1 0,0.05 0.5;set(h_main,userdata,uu);Tag=lstcolorTag=rdradio1Tag=rdradio2Tag=rdradio3第34页,此课件共36页哦function exec_bouncing(x)k=1;uu=get(gcf,userdata);if nargin=0,x,y,k=ginput(1);uu3=x;set(gcf,userdata,uu);endif k=1 if x1,x=1;end xx=0;yy=1;x0=0;x1=x;y1=1;while(x1=1+x)xx=xx x1;y1=y1;yy=yy y1;x0=x1;x1=x1+x;end dx=1/50;xx_l=0:dx:1,xx;xx_l=sort(xx_l);yy_l=interp1(xx,yy,xx_l);h_mark=line(0,1);set(h_mark,Marker,o,markersize,8,colorg,.tag,h_ball,linewidth,5);set(h_mark,color,uu1);for i=1:length(xx_l)x0=xx_l(i);y0=yy_l(i);set(h_mark,xdata,x0,ydata,y0);pause(uu2);endend第35页,此课件共36页哦function set_speed(key)uu=get(gcf,userdata);switch keycase 1 uu2=uu2*0.5;case 2 uu2=uu2*2;case 3 uu2=0.05;case 4 kk=get(findobj(gcf,tag,lstcolor),value);switch kk case 1 uu1=1 0 0;case 2 uu1=0 1 0;case 3 uu1=0 0 1;endendif key=3 hh=gco;h1=findobj(gcf,tag,rdradio1);set(h1,value,0);h2=findobj(gcf,tag,rdradio2);set(h2,value,0);h3=findobj(gcf,tag,rdradio3);set(h3,value,0);set(hh,value,1);endset(gcf,userdata,uu);exec_bouncing(uu3);第36页,此课件共36页哦

    注意事项

    本文(第五讲图形用户界面编程课件.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开