![第五讲图形界面编程_第1页](http://file4.renrendoc.com/view/daa9ebf7325147eac43ce7fb08330d78/daa9ebf7325147eac43ce7fb08330d781.gif)
![第五讲图形界面编程_第2页](http://file4.renrendoc.com/view/daa9ebf7325147eac43ce7fb08330d78/daa9ebf7325147eac43ce7fb08330d782.gif)
![第五讲图形界面编程_第3页](http://file4.renrendoc.com/view/daa9ebf7325147eac43ce7fb08330d78/daa9ebf7325147eac43ce7fb08330d783.gif)
![第五讲图形界面编程_第4页](http://file4.renrendoc.com/view/daa9ebf7325147eac43ce7fb08330d78/daa9ebf7325147eac43ce7fb08330d784.gif)
![第五讲图形界面编程_第5页](http://file4.renrendoc.com/view/daa9ebf7325147eac43ce7fb08330d78/daa9ebf7325147eac43ce7fb08330d785.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五讲图形界面编程第1页,课件共36页,创作于2023年2月MATLAB图形界面中各对象关系根对象root图形窗口对象figure右键菜单对象uicontextmenu菜单对象uimenu控件对象uicontrol坐标轴对象axes线对象line文字对象text表面图对象surface图像对象image光源对象light第2页,课件共36页,创作于2023年2月窗口对象及其属性设定窗口对象的建立
hwin=figure(属性1,属性值1,属性2,属性值2,…)hwin为图形窗口的句柄,matlab环境允许打开多个窗口,每个窗口都对应自己的句柄,通过该句柄可以进一步对窗口的属性等进行操作。
hwin=gcf
获得当前窗口的句柄。第3页,课件共36页,创作于2023年2月图形窗口的属性第4页,课件共36页,创作于2023年2月常用属性
color属性由红绿蓝三原色组成,取值范围为0到1。
menubar属性设置菜单条的形式。
name属性设置图形窗口的标题栏中标题内容,其属性值为一字符串。
numbertitle属性是否显示图形窗口标题栏中的图形标号。
units属性设定图形单位。如:pixels(象素点)、inches(英寸)、centimeters(厘米)、normalized(归一值)等第5页,课件共36页,创作于2023年2月
position属性设定窗口的位置和大小,为1×4向量,前两个值为窗口左下角横纵坐标值,后两个元素值为窗口的宽度和高度,其单位由units属性设定。
resize属性确定是否可以改变图形窗口的大小。
toolbar属性是否显示工具条。
visible属性决定窗口是否为可见。
Pointer属性设置鼠标的显示形式。
第6页,课件共36页,创作于2023年2月对象属性的修改改变对象的属性值
set(对象句柄,属性1,属性值1,属性2,属性值2,…)
属性的名称用单引号括起来;如果不给出属性值,则返回全部允许的属性值。获得对象的属性值
V=get(句柄名,属性)?gwin=figure('visible','off');?set(gwin,'color',[1,0,0],'position',[100,200,300,300],...'name','Myprogram','numbertitle','off','menubar','none');?set(gwin,'visible','on')第7页,课件共36页,创作于2023年2月回调函数(callbackfunction)CloseRequestFcn-关闭窗口时响应函数KeyPressFcn-键盘按下时响应函数windowButtonDownFcn-鼠标按下时响应函数WindowButtonMotionFcn-鼠标移动时响应函数CreateFcn和DeleteFcn-建立和删除对象时响应函数CallBack-对象被选中时响应函数第8页,课件共36页,创作于2023年2月?gwin=figuregwin=1?set(gwin,'windowbuttondownfcn','helpdlg(''mousebuttondown!'')')?set(gwin,'keypressfcn','helpdlg(''keyboardpressed!'')')一旦该对象指定的事件发生,将自动调用某指定的函数,它可以是matlab文件,也可以是一组matlab程序。第9页,课件共36页,创作于2023年2月标准对话框及其调用文件名操作函数
uigetfile()和uiputfile()函数打开一个文件进行读、写的对话框。
[fname,pname]=uigetfile(ffilter,strtitle,x,y)ffilter为文件名过滤器;strtiltle为对话框窗口标题栏的显示内容;x、y为对话框出现的位置,省略则采用默认位置。第10页,课件共36页,创作于2023年2月?[f,p]=uigetfile('*.m;*.txt','请选择一个文件')f=fileprint.mp=E:\MATLABR11\work\第11页,课件共36页,创作于2023年2月颜色设置对话框
c=uisetcolor;或c=uisetcolor(c0);
函数返回一个1×3的颜色向量,分别对应红、绿、蓝三原色,按下“取消”按钮后返回空的向量;如果给出向量c0,则在图中指向c0所定义的颜色位置,且按下“取消”按钮时返回c0的值。第12页,课件共36页,创作于2023年2月字体设置对话框
h_Font=uisetfont或h_Font=uisetfont(h_Text,strTitle)h_Font为字体属性的结构体;h_Text为要设置的字符句柄,strTitle为对话框的标题栏内容。?s=uisetfonts=FontName:'楷体_GB2312'FontUnits:'points'FontSize:42FontWeight:'bold'FontAngle:'normal'第13页,课件共36页,创作于2023年2月警告与错误信息对话框
warndlg和errordlg函数二者的显示图标不同。例:?h=warndlg({‘error:’,‘code1111.’},‘Warning’)
?h=errordlg({'error:','code1111.'},'Error')
第14页,课件共36页,创作于2023年2月帮助信息对话框与警告、错误信息对话框基本一致,仅仅是图标的不同。例:
?h=helpdlg({'帮助信息:','帮助信息对话框和警告错误对话框基本一致,只是图标不同!'},'帮助')第15页,课件共36页,创作于2023年2月通用信息框
msgbox(‘显示信息’,’标题’,’图标’)
图标包括:Error、Help、Warn以及Custom,如果缺省则为None。
?data=1:64;data=(data'*data)/64;?msgbox('Thisisanexampleofmsgbox!','customico','custom',data,hot(64))第16页,课件共36页,创作于2023年2月Matlab图形界面基本控件静态文本’text’
一般用来作为信息提示用。编辑框’edit’
读取用户数据的文字窗口。框架‘frame’
概括一组控件,也可以修饰用。列表框‘list’
包含多个选项供用户选择。第17页,课件共36页,创作于2023年2月滚动条’slider’
图示某个范围。按钮’pushbutton’
其上的字符说明其作用。切换按钮’toggle’
两状态按钮,单击改变其状态。收音机按钮’radio’
一组选项,其中只能有一个被选中。检取框’check’
一组选项,可以选择多项。弹出式菜单’popup’
选中时打开一个列表。第18页,课件共36页,创作于2023年2月控件的常用属性Units与position属性意义同上,这里的位置是相对该窗口的左下角;String属性标注在控件上,用来说明或提示;Callback属性实现该控件的实质性功能;Enable属性该控件的使能状态‘on’或‘off’第19页,课件共36页,创作于2023年2月Cdata属性真彩色位图,为一三维数组,用于美化界面;Tooltipstring属性鼠标指针位于该控件时的提示信息显示;Interruptable属性是否中断当前回调函数的执行,‘on’或‘off’字体属性设置字体第20页,课件共36页,创作于2023年2月例1:h_main=figure(‘name’,‘ademoofguidesign’,‘menubar’,‘none’,…'numbertitle','off','position',[100100300100]);h_edit=uicontrol('style','edit','backgroundcolor',[111],'position',[20205020],...'tag','myedit','string','1','horizontalalignment','left');h_but1=uicontrol('style','pushbutton','position',[20505020],'string','INC',...'callback',['v=eval(get(h_edit,''string''));',...'set(h_edit,''string'',int2str(v+1));']);h_but2=uicontrol('style','pushbutton','position',[80505020],'string','DEC',...'callback',['v=eval(get(h_edit,''string''));','set(h_edit,''string'',int2str(v-1));']);第21页,课件共36页,创作于2023年2月functiongui_counter1()%gui_counterisademoofguidesign.h_main=figure('name','ademoofguidesign','menubar','none',...'numbertitle','off','position',[100100300100]);h_edit=uicontrol('style','edit','backgroundcolor',[111],'position',[20205020],...'tag','myedit','string','1','horizontalalignment','left');h_but1=uicontrol('style','pushbutton','position',[20505020],'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',[80505020],'string','DEC',...'callback',['h=findobj(gcf,''tag'',''myedit'');','v=eval(get(h,''string''));',...'set(h,''string'',int2str(v-1));']);第22页,课件共36页,创作于2023年2月例2functiongui_demo()%GUI_demoisanotherdemoofGUIdesign.h_main=figure('units','normalized','position',[0.30.30.50.4],...'name','GUIdemostration','numbertitle','off');h_axis=axes('units','normalized','position',[0.30.150.60.7],...'tag','axplot','xlim',[010],'ylim',[-11]);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.10.60.060.1],'cdata',bmp1,...'callback','zoomon','tooltipstring','Enablezooming');h_2=uicontrol('style','pushbutton','units','normalized',...'position',[0.040.450.060.1],'cdata',bmp2,...'callback','zoomxon','tooltipstring','Enablezoomonx-axisonly');h_3=uicontrol('style','pushbutton','units','normalized',...'position',[0.160.450.060.1],'cdata',bmp3,...'callback','zoomyon','tooltipstring','Enablezoomony-axisonly');h_4=uicontrol('style','pushbutton','units','normalized',...'position',[0.10.30.060.1],'cdata',bmp4,...'callback','zoomoff','tooltipstring','Disablezooming');第23页,课件共36页,创作于2023年2月第24页,课件共36页,创作于2023年2月Matlab菜单系统设计菜单系统的生成
菜单项句柄=uimenu(窗口句柄,属性1,属性值1,属性2,属性值2,…)
子菜单句柄=uimenu(菜单项句柄,属性1,属性值1,…)
属性:菜单条名称label回调函数callback第25页,课件共36页,创作于2023年2月热键名称accelerator背景颜色backgroundcolor前景颜色foregroundcolor选中状态checked使能状态enabled菜单条位置position分隔符separator第26页,课件共36页,创作于2023年2月ctxmenu=uicontextmenu;set(gcf,'uicontextmenu',ctxmenu);uimenu(ctxmenu,'label','zoomon','callback','zoomon');uimenu(ctxmenu,'label','x-axiszoomon','callback','zoomxon');uimenu(ctxmenu,'label','y-axiszoomon','callback','zoomyon');uimenu(ctxmenu,'label','zoomoff','callback','zoomoff');uimenu(ctxmenu,'label','checked','checked','on','separator','on');uimenu(ctxmenu,'label','disabled','enable','off');第27页,课件共36页,创作于2023年2月GUI设计工具简介
guideGUI向导设计器。第28页,课件共36页,创作于2023年2月属性设计器(PropertyEditor)设置所选图形对象或GUI控件各属性的值第29页,课件共36页,创作于2023年2月控件布局编辑器(AlignmentTool)设置控件的布局第30页,课件共36页,创作于2023年2月菜单编辑器(MenuEditor)编辑菜单项第31页,课件共36页,创作于2023年2月回调函数编辑器(CallbackEditor)编辑控件属性所对应的回调函数第32页,课件共36页,创作于2023年2月例:示意小球碰撞过程出射角上挡板下挡板第33页,课件共36页,创作于2023年2月h1=line([0,1],-0.09*[11]);set(h1,'linewidth',5);h2=line([0,1],1.09*[11]);set(h2,'linewidth',7);uu={[010],0.050.5};set(h_main,'userdata',uu);Tag=lstcolorTag=rdradio1Tag=rdradio2Tag=rdradio3第34页,课件共36页,创作于2023年2月functionexec_bouncing(x)k=1;uu=get(gcf,'userdata');ifnargin==0,[x,y,k]=ginput(1);uu{3}=x;set(gcf,'userdata',uu);endifk==1ifx<0,x=0.1;endifx>1,x=1;endxx=[0];yy=[1];x0=0;x1=x;y1=1;while(x1<=1+x)xx=[xxx1];y1=~y1;yy=[yyy1];x0=x1;x1=x1+x;enddx=1/50;xx_l=[0:dx:1,xx];xx_l=sort(xx_l);yy_l=interp1(xx,yy,xx_l);h_mark=line([
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Module1(单元测试)英语五年级下册-外研版(一起)(含答案)
- 2025年建筑玻璃夹行业深度研究分析报告
- 电子工程基础数学建模的核心概念
- 2025年轴承双头压入机行业深度研究分析报告
- 电影中的教育启示与现代教育的融合
- 2025年吸尘机项目可行性研究报告
- 知识经济背景下电商平台的版权意识培养策略
- 环境艺术引领的未来医疗花园景观设计探索
- 帐薄印制行业深度研究报告
- 重庆电子工程职业学院《安全与健康教育》2023-2024学年第二学期期末试卷
- (完整word版)Word信纸(A4横条直接打印版)模板
- 论文写作与学术规范 课程教学大纲
- 向高层销售:与决策者有效打交道
- DB32/T 4443-2023 罐区内在役危险化学品(常低压)储罐管理规范
- 尼泊尔简介课件
- 婴幼儿托育机构管理与运营实务高职PPT完整全套教学课件
- 新能源汽车电池石墨类负极材料一体化项目环境影响评价报告书
- 小学家长接送学生协议书
- IT服务连续性实现指南
- OEM合作协议(定稿)
- 微电网市场调查研究报告
评论
0/150
提交评论