您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 59_Matlab图形界面设计
1MATLAB用户图形界面设计北京邮电大学信息与通信工程学院2教学目标l理解用户图形界面的用途l掌握图形用户界面的设计开发工具GUIDEl理解图形对象的常用句柄命令3主要内容l7.1图形用户界面设计工具GUIDEl7.2控件l7.3GUIDE常用工具l7.4使用GUIDE的GUI设计l7.5句柄图形l7.6图形对象句柄命令图形用户界面对象l用户界面控件对象(uicontrol)l下拉式菜单对象(uimenu)l快捷菜单对象(uicontextmenu)4建立用户菜单l一级菜单(菜单条)和二级菜单,需要时建立子菜单l一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…)l子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,…)5hm=uimenu(gcf,‘Label’,‘File’);hm1=uimenu(hm,‘Label’,‘Save’);hm2=uimenu(hm,‘Label’,‘SaveAs’);菜单对象常用属性lLabel:字符串,定义菜单项的名字,&字符增加下划线lAccelerator:字母,定义快捷键Ctrl+?lCallback:字符串,某个M文件的文件名或者一组Matlab命令lChecked:on/off,标记是否被选中lEnable:on/off,控制可选择性lPosition:数值,菜单项的相对位置lSeparator:on/off,分割线6例子78screen=get(0,'ScreenSize');W=screen(3);H=screen(4);figure('Color',[1,1,1],'Position',[0.2*H,0.2*H,0.5*W,0.3*H],...'Name','ͼÐÎÑÝʾϵͳ','NumberTitle','off','Menubar','None');hplot=uimenu(gcf,'Label','&Plot');uimenu(hplot,'Label','SineWave','Call',...['t=-pi:pi/20:pi;','plot(t,sin(t));',...'set(hgon,''Enable'',''on'');',...'set(hgoff,''Enable'',''on'');',...'set(hbon,''Enable'',''on'');',...'set(hboff,''Enable'',''on'');']);uimenu(hplot,'Label','CosineWave','Call',...['t=-pi:pi/20:pi;','plot(t,cos(t));',...'set(hgon,''Enable'',''on'');',...'set(hgoff,''Enable'',''on'');',...'set(hbon,''Enable'',''on'');',...'set(hboff,''Enable'',''on'');']);hoption=uimenu(gcf,'Label','&Option');hgon=uimenu(hoption,'Label','&Gridon',...'Call','gridon','Enable','off');hgoff=uimenu(hoption,'Label','&Gridoff',...'Call','gridoff','Enable','off');hbon=uimenu(hoption,'Label','&Boxon',...'separator','on','Call','boxon','Enable','off');hboff=uimenu(hoption,'Label','&Boxoff',...'Call','boxoff','Enable','off');hwincor=uimenu(hoption,'Label','&WindowColor','Separator','on');uimenu(hwincor,'Label','&Red','Accelerator','r',...'Call','set(gcf,''Color'',''r'');');uimenu(hwincor,'Label','&Blue','Accelerator','b',...'Call','set(gcf,''Color'',''b'');');uimenu(hwincor,'Label','&Yellow','Call',...'set(gcf,''Color'',''y'');');uimenu(hwincor,'Label','&White','Call',...'set(gcf,''Color'',''w'');');uimenu(gcf,'Label','&Quit','Call','close(gcf)');快捷菜单l鼠标右键弹出菜单,位置不固定,总是和某个图形对象联系l使用uicontextmenu函数和图形对象的UIContextMenu属性来建立快捷菜单l利用uicontextmenu函数建立快捷菜单l利用uimenu函数为快捷菜单建立菜单项l利用set函数将快捷菜单和某图形对象联系起来9例子10例子11x=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’,’线宽');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);对话框控件l按钮PushButtonl双位按钮ToggleButtonl单选按钮RadioButtonl复选框CheckBoxl列表框ListBoxl弹出框PopupMenul编辑框EditBoxl滑动条Sliderl静态文本StaticTextl边框Frame12对话框设计l建立一个图形窗口,然后放置有关用户控件对象l建立控件对象函数uicontroll对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…)13控件对象的属性lPosition属性:4元素向量,[x,y,w,h]lUnits属性:单位lCallback:字符串,响应命令lString属性:字符串,控件对象说明文字lStyle属性:控件对象类型lBackgroundColor属性:背景色lForegroundColor属性:说明文字的颜色lMax,Min属性:数值lValue属性:向量值或数值lFontAngle属性:字体斜度lFontName属性:字库名lFontSize属性:字体字号lFontUnits属性:字体字号单位lFontWeight属性:字体粗细lHorizontalAlignment属性:文字对齐方式14按钮对象例子15pbstart=uicontrol(gcf,'Style','push','Position',...[40,5,100,25],'String','StartPlot',...'CallBack','t=0:pi/20:2*pi;plot(t,sin(t));axis([02*pi-11])');ptgrid=uicontrol(gcf,'Style','toggle','Position',...[170,5,100,25],'String','Grid','CallBack','grid');单选按钮例子lCharpter9_4.m16复选框例子lCharpter9_5.m17下拉框例子lCharpter9_6.m18列表框例子lCharpter9_7.m19文本框例子lCharpter9_8.m20滑动条例子lCharpter9_9.m21例子l建立数值转换对话框,左边输入一个十进制整数和2-16之间数,单击转换按钮得到对应的二-十六进制字符串,单击退出按钮退出对话框lCharpter9_10.m22237.1图形用户界面设计工具GUIDEl可视化图形界面开发环境GuideGraphicalUserInterfaceDevelopmentEnvironment24用户界面开发环境组成(1)菜单栏;(2)Guide工具栏;(3)图形控件面板;(4)界面编辑客户区。257.2控件1.静态文本(StaticText)2.编辑框(EditText)控件3.列表框(Listbox)控件4.滚动条(Slider)控件5.按钮(PushButton)控件6.开关按钮(ToggleButton)控件7.单选按钮(RadioButton)控件8.按钮组(ButtonGroup)控件9.检查框(CheckBox)控件10.弹出式菜单(PopupMenu)控件11.坐标轴(Axes)控件12.面板(Panel)控件267.3GUIDE常用工具lLayoutEditor:布局编辑器;lAlignmentTool:对齐工具;lPropertyInspector:对象属性观察器;lObjectBrowser:对象浏览器;lMenuEditor:菜单编辑器。271.布局编辑器(1)Cut:对选中的控件进行剪切操作。(2)Copy:复制选中的控件。(3)Paste:粘贴复制的控件。(4)Delete:删除选中的控件。(5)Duplicate:对选中的控件进行复制并粘贴。(6)PropertyInspector:对选中的控件打开属性检查器。(7)ObjectBrowser:打开对象浏览器。(8)ButtonDownFcn:按下鼠标时控件回调的函数。(9)Callback:单击鼠标时控件回调的函数或功能。(10)CreateFcn:定义控件在创建阶段执行的回调例程。(11)DeleteFcn:定义在对象的删除阶段执行的回调例程。282.对齐工具293.对象属性观察器一、控件风格和外观(1)BackgroundColor:设置控件背景颜色,使用[RGB]或颜色定义。(2)CData:在控件上显示的真彩色图像,使用矩阵表示。(3)ForegroundColor:文本颜色。(4)String属性:控件上的文本,以及列表框和弹出菜单的选项。(5)Visible:控件是否可见。303.对象属性观察器二、对象的常规信息(1)Enable属性:表示此控件的使能状态,设置为on”,表示可选,为“off”时则表示不可选。(2)Style:控件对象类型。(3)Tag:控件表示(用户定义)。(4)TooltipString属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。(5)UserData:用户指定数据。(6)Position:控件对象的尺寸和位置。(7)Units:设置控件的位置及大小的单位(8)有关字体的属性,如FontAngle,FontName等。313.对象属性观察器三、控件回调函数的执行(1)BusyAction:处理回调函数的中断。有两种选项:即Cancel:取消中断事件,queue:排队(默认设置)。(2)ButtonDownFcn属性:按钮按下时的处理函数。(3)CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。(4)CreateFcn:在对
本文标题:59_Matlab图形界面设计
链接地址:https://www.777doc.com/doc-4505637 .html