《Matlab系统分析与程序设计》课程教学资源(PPT课件讲稿)第七章 MATLAB图形用户界面设计

第7章 MATLAB图形用户界面设计 7.1菜单设计 7.2对话框设计 73用户界面设计工具
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具

7.1菜单设计 7.1.1用户菜单的建立 建立一级菜单项的函数调用形式为: 级菜单项句柄= ulmen(图形窗口句柄,属性名1,属性 值1,属性名2,属性值2, 建立子菜单项的函数调用形式为: 子菜单项句柄= Ulmeni(一级菜单项句柄,属性名1,属性 值1,属性名2,属性值2
7.1 菜单设计 7.1.1 用户菜单的建立 建立一级菜单项的函数调用形式为: 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性 值1,属性名2,属性值2,…) 建立子菜单项的函数调用形式为: 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性 值1,属性名2,属性值2,…)

7.1.2菜单对象常用属性 菜单对象具有 Children、 Parent、Tag、Type、 UserData、 Visible等公共属性。除公共属性外,还有一些常用的 特殊属性
7.1.2 菜单对象常用属性 菜单对象具有Children、Parent、Tag、Type、UserData、 Visible等公共属性。除公共属性外,还有一些常用的 特殊属性

例7.1建立“图形演示系统”菜单。菜单条中含有3个菜单 项:Plot、 Option和Quit。Plot中有 Sine Wave和 Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦 和余弦曲线。 Option菜单项的内容如图71所示。其中 Grid on和 Grid of控制给坐标轴加网格线, Box on和 Box of控制给坐标轴加边框,而且这4项只有在画有曲 线时才是可选的。 Figure Color控制图形窗口背景颜色 Quit控制是否退出系统。 程序如下: screen=get(O, Screen Size') W=screen(3); H=screen(4) igure(Color,1, 1, 1, Position, [0. 2*H,0. 2 H,0.6*W,0. 4*HI Name;图形演示系统; NumberTitle,of, MenuBar none) %定义Pot菜单项 hplot=uimenu(gcf, Label, &Plot) uimenu(hplot, Label, 'Sine Wave, Call,Tt=-pi pi/20: pi, ,plot(t, sin(t); set(hgon, Enable", on ), ,set(hgoff, " Enable",on") set(hbon, "Enable", on"): , set(hboff, Enable", on)'D uimenu(hplot, Label, Cosine Wave, Call, 't=-pi pi/20 pi; ,plot(t, cos(t) set(hgon, Enable","on"); ,set(goff, Enable", on") set(hbon, "Enable","on); , set(hboff, "Enable","on), D
例7.1建立“图形演示系统”菜单。菜单条中含有3个菜单 项:Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦 和余弦曲线。Option菜单项的内容如图7.1所示。其中 Grid on和Grid off控制给坐标轴加网格线,Box on和 Box off控制给坐标轴加边框,而且这4项只有在画有曲 线时才是可选的。Figure Color控制图形窗口背景颜色。 Quit控制是否退出系统。 程序如下: screen=get(0,'ScreenSize'); W=screen(3);H=screen(4); figure('Color',[1,1,1],'Position',[0.2*H,0.2*H,0.6*W,0.4*H],... 'Name','图形演示系统','NumberTitle','off','MenuBar','none'); %定义Plot菜单项 hplot=uimenu(gcf,'Label','&Plot'); uimenu(hplot,'Label','Sine Wave','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','Cosine Wave','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'');']); %定义Option菜单项

7.1.3快捷菜单 在 MATLAB中,可以使用 uicontextmenu函数和图形对象 的 UIContextmenu属性来建立快捷菜单,具体步骤为 (1)利用 uicontextmenu函数建立快捷菜单。 (2)利用 ulmen函数为快捷菜单建立菜单项。 (3)利用set函数将该快捷菜单和某图形对象联系起来
7.1.3 快捷菜单 在MATLAB中,可以使用uicontextmenu函数和图形对象 的UIContextMenu属性来建立快捷菜单,具体步骤为: (1)利用uicontextmenu函数建立快捷菜单。 (2)利用uimenu函数为快捷菜单建立菜单项。 (3)利用set函数将该快捷菜单和某图形对象联系起来

例7.2绘制曲线y=2e-0.5xsin(2πx),并建立一个与 之相联系的快捷菜单,用以控制曲线的线型和曲线宽 度 程序如下: x=0pi/100:2*pi y=2 exp(-05*x).*sin(2*pi*x) hI=plot(x, y) hc=uicontextmenu %建立快捷菜单 hls= ulmen(hc, Label!线型);%建立菜单项 hlw= ulmen(hc, Label线宽) uimenu(hls, Label,'ME, Call, 'set(hl, " Line Style"," " ) uimenu(hls, Label, '*', Call, 'set(hl, " Line Style", "); uimenu(hlw, Label, tAwL, 'Call, 'set(hl, "Line Width", 2); uimenu(hlw, Label, 4, Call, set(hl, "Line Width", 0.5); set( hl. 'UIContextMenu,hc);%将该快捷菜单和曲线对象联系起来
例7.2 绘制曲线y=2e-0.5xsin(2πx),并建立一个与 之相联系的快捷菜单,用以控制曲线的线型和曲线宽 度。 程序如下: 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','线宽'); 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); %将该快捷菜单和曲线对象联系起来

72对话框设计 7.2.1对话框的控件 (1)按钮( Push button)。 (2)双位按钮( Toggle button) (3)单选按钮( Radio button)。 (4)复选框( Check box) (5)列表框( List box) (6)弹出框( Popup menu) (7)编辑框( Edit box)。 (8)滑动条( Slider)。 (9)静态文本( Static text)。 (10)边框( Frame)
7.2 对话框设计 7.2.1 对话框的控件 (1)按钮(Push Button)。 (2)双位按钮(Toggle Button)。 (3)单选按钮(Radio Button)。 (4)复选框(Check Box)。 (5)列表框(List Box)。 (6)弹出框(Popup Menu)。 (7)编辑框(Edit Box)。 (8)滑动条(Slider)。 (9)静态文本(Static Text)。 (10)边框(Frame)

7.22对话框的设计 1.建立控件对象 MATLAB提供了用于建立控件对象的函数 uncontrol,其 调用格式为: 对象句柄= Uncontrol(图形窗口句柄,属性名1,属性值1, 属性名2,属性值2,…) 其中各个属性名及可取的值和前面介绍的 ulmen函数 相似,但也不尽相同,下面将介绍一些常用的属性 2.控件对象的属性 MATLAB的10种控件对象使用相同的属性类型,但是 这些属性对于不同类型的控件对象,其含义不尽相同。 除 Children、 Parent、Tag、Type、 UserData、 Visible等 公共属性外,还有一些常用的特殊属性
7.2.2 对话框的设计 1. 建立控件对象 MATLAB提供了用于建立控件对象的函数uicontrol,其 调用格式为: 对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1, 属性名2,属性值2,…) 其中各个属性名及可取的值和前面介绍的uimenu函数 相似,但也不尽相同,下面将介绍一些常用的属性。 2. 控件对象的属性 MATLAB的10种控件对象使用相同的属性类型,但是 这些属性对于不同类型的控件对象,其含义不尽相同。 除Children、Parent、Tag、Type、UserData、Visible等 公共属性外,还有一些常用的特殊属性

例7、3建立数制转换对话框。在左边输入一个十进制整数 和2~16之间的数,单击“转换”按钮能在右边得到十 进制数所对应的2~16进制字符串,单击“退出”按钮 退出对话框。 程序如下: hf-figure(Color,o, 1,1, Position, [100, 200, 400, 2001 Name;数制转换, NumberTitle;of; MenuBar, none") uncontrol(hf, ' Style, Text, Units, normalized Position, [0.05,0.8,0.45,0. 1, Horizontal, center' String;输入框Back0,1,1) uncontrol(hf, Style, Text, Position, [0.5,0.8,0.45,0.11 Units''normalized Horizontal 'center String;输出框 Back,[O,1,1) uncontrol(hf, Style, Frame, Position, [,. 45] Units, normalized, Back,[1,1,oD uncontrol(hf, Style, Text', Position, 10.05,0.6,0.25,0.11 Units normalized Horizontal.'center' String,十进制数,Back,[1,1,0]); uncontrol(hf, Style, Text, Position, [0.05,0.4,0.25,0.11
例7.3 建立数制转换对话框。在左边输入一个十进制整数 和2~16之间的数,单击“转换”按钮能在右边得到十 进制数所对应的2~16进制字符串,单击“退出”按钮 退出对话框。 程序如下: hf=figure('Color',[0,1,1],'Position',[100,200,400,200],... 'Name','数制转换','NumberTitle','off','MenuBar','none'); uicontrol(hf,'Style','Text', 'Units','normalized',... 'Position',[0.05,0.8,0.45,0.1],'Horizontal','center',... 'String','输 入 框','Back',[0,1,1]); uicontrol(hf,'Style','Text','Position',[0.5,0.8,0.45,0.1],... 'Units','normalized','Horizontal','center',... 'String','输 出 框','Back',[0,1,1]); uicontrol(hf,'Style','Frame','Position',[0.04,0.33,0.45,0.45],... 'Units','normalized','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.6,0.25,0.1],... 'Units','normalized','Horizontal','center',... 'String','十进制数','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.4,0.25,0.1],... 'Units','normalized','Horizontal','center

程序调用了 trdec n函数文件,该函数的作用是将任意十 进制整数转换为2~16进制字符串。 trdec. m函数文件如 下 function dec=trdec(n, b) chl=0123456789 ABCDEF;%十六进制的16个符号 while n=0 %不断除某进制基数取余直到商为0 p(k)==rem(n, b) n=fix(n/b) k=k+1; k=k-1; strdec while k>=1 %形成某进制数的字符串 kb=p(k) strdec=strcat(strdec, chI(kb+1: kb+1D)) k=k-1 end dec=strdec
程序调用了trdec.m函数文件,该函数的作用是将任意十 进制整数转换为2~16进制字符串。trdec.m函数文件如 下: function dec=trdec(n,b) ch1='0123456789ABCDEF'; %十六进制的16个符号 k=1; while n~=0 %不断除某进制基数取余直到商为0 p(k)=rem(n,b); n=fix(n/b); k=k+1; end k=k-1; strdec=''; while k>=1 %形成某进制数的字符串 kb=p(k); strdec=strcat(strdec,ch1(kb+1:kb+1)); k=k-1; end dec=strdec;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《Matlab系统分析与程序设计》课程教学资源(PPT课件讲稿)第六章 MATLAB符号计算.ppt
- 《Matlab系统分析与程序设计》课程教学资源(PPT课件讲稿)第五章 MATLAB数值计算.ppt
- 《Matlab系统分析与程序设计》课程教学资源(PPT课件讲稿)第四章 MATLAB绘图.ppt
- 《Matlab系统分析与程序设计》课程教学资源(PPT课件讲稿)第三章 MATLAB程序设计.ppt
- 《Matlab系统分析与程序设计》课程教学资源(PPT课件讲稿)第二章 MATLAB数据.ppt
- 《Matlab系统分析与程序设计》课程教学资源(PPT课件讲稿)第一章 MATLAB概述.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第十五章 实训.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第十四章 数据文件的应用.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第十三章 结构体的应用.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第十二章 编译预处理.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第十一章 用户标识符的作用域和存储类别.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第十章 字符串处理.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第九章 二维数组的应用.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第八章 一维数组的应用.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第七章 地址和指针.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第六章 自定义函数的设计和使用.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第五章 循环结构的程序设计.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第四章 分支结构的程序设计.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第三章 顺序结构的程序设计.ppt
- 《C语言讲稿》课程教学资源(PPT课件)第二章 C语言程序设计的基 础知识.ppt
- 《Matlab系统分析与程序设计》课程教学资源(PPT课件讲稿)第八章 MATLAB笔记本.ppt
- 《Matlab系统分析与程序设计》课程教学资源(PPT课件讲稿)第九章 MATLAB环境下的仿真.ppt
- 《计算机汇编语言》课程教学资源(教案讲义)第一章 汇编语言基础知识.doc
- 《计算机汇编语言》课程教学资源(教案讲义)第十章 汇编语言程序设计实例.doc
- 《计算机汇编语言》课程教学资源(教案讲义)第二章 微型计算机结构.doc
- 《计算机汇编语言》课程教学资源(教案讲义)第三章 指令系统和寻址方式.doc
- 《计算机汇编语言》课程教学资源(教案讲义)第四章 汇编语法及其程序格式.doc
- 《计算机汇编语言》课程教学资源(教案讲义)第五章 程序控制结构及其程序设计.doc
- 《计算机汇编语言》课程教学资源(教案讲义)第六章 子程序结构.doc
- 《计算机汇编语言》课程教学资源(教案讲义)第七章 高级汇编语言技术.doc
- 《计算机汇编语言》课程教学资源(教案讲义)第八章 输入/输出和中断程序设计.doc
- 《计算机汇编语言》课程教学资源(教案讲义)第九章 多模块程序设计与混合编程.doc
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_序论.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_总复习.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_总复习及模拟试题.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第一章 计算机系统结构的基本.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第二章 数据表示与指令系统.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第三章 总线、中断与I.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第三章 习题处理.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第四章 存贮体系.ppt