8.6图形用户界面应用举例(ppt).pdf

上传人:奉*** 文档编号:4019850 上传时间:2021-01-02 格式:PDF 页数:23 大小:1,014.55KB
返回 下载 相关 举报
8.6图形用户界面应用举例(ppt).pdf_第1页
第1页 / 共23页
8.6图形用户界面应用举例(ppt).pdf_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《8.6图形用户界面应用举例(ppt).pdf》由会员分享,可在线阅读,更多相关《8.6图形用户界面应用举例(ppt).pdf(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、8.6 图形用户界面应用举例 GUIDEGUIDE设计实例设计实例 AppApp DesignerDesigner设计实例设计实例 专题八专题八 MATLABMATLAB图形用户界面设计图形用户界面设计 例例1 1 利用利用GUIDEGUIDE设计工具设计如图所示设计工具设计如图所示 的用户界面。该界面的用户界面。该界面可以显示可以显示表面图、表面图、 网格图网格图和和等高线图。绘制图形的功能通等高线图。绘制图形的功能通 过过3 3个命令按钮来实现个命令按钮来实现,绘制图形所需要绘制图形所需要 的数据通过一个的数据通过一个列表列表来选取。来选取。方位角和方位角和 仰角在视点面板中设置,图形使用

2、的色仰角在视点面板中设置,图形使用的色 图通过下拉列表进行选择,着色方式通图通过下拉列表进行选择,着色方式通 过单选按钮组进行选择。切换按钮用于过单选按钮组进行选择。切换按钮用于 隐藏或显示坐标轴网格。隐藏或显示坐标轴网格。 1. GUIDE1. GUIDE设计实例设计实例 (1 1) 打开图形用户界面设计窗口,添加有关图形对象,并保存图形打开图形用户界面设计窗口,添加有关图形对象,并保存图形 用户界面。用户界面。 .fig.fig文件:包含文件:包含GUIGUI图形窗口及其控件对象的属性描述。图形窗口及其控件对象的属性描述。 .m.m文件:包括文件:包括GUIGUI初始化方法以及图形窗口和控

3、件的回调函数。初始化方法以及图形窗口和控件的回调函数。 1. GUIDE1. GUIDE设计实例设计实例 (1 1) 打开图形用户界面设计窗口,添加有关图形对象,并保存图形打开图形用户界面设计窗口,添加有关图形对象,并保存图形 用户界面。用户界面。 1. GUIDE1. GUIDE设计实例设计实例 用“用“Blank GUI” Blank GUI” 模板新建模板新建 用户界面。用户界面。 添加控件。添加控件。 保存用户界面。保存用户界面。 .fig.fig文件文件 .m.m文件文件 (2 2)利用属性检查器设置界面对象的属性。)利用属性检查器设置界面对象的属性。 StringString属性:

4、用于指定控件上的文本以属性:用于指定控件上的文本以 及列表框和弹出式菜单的选项。及列表框和弹出式菜单的选项。 TagTag属性:定义控件标识。属性:定义控件标识。 ValueValue属性:控件的值。属性:控件的值。 1. GUIDE1. GUIDE设计实例设计实例 (3 3)利用对齐对象工具,调整控件对象的相对位置。)利用对齐对象工具,调整控件对象的相对位置。 1. GUIDE1. GUIDE设计实例设计实例 (4 4)编写代码,实现控件功能。)编写代码,实现控件功能。 .m.m文件中回调函数框架文件中回调函数框架 控件控件Tag_CallTag_Call类型类型( (hObjecthObj

5、ect, , eventdataeventdata, handles), handles) 其中,其中,hObjecthObject 为发生事件的源控件,为发生事件的源控件,eventdataeventdata为事件数据结为事件数据结 构,构,handleshandles为对象句柄集。为对象句柄集。 1. GUIDE1. GUIDE设计实例设计实例 跟图形窗口有关的有跟图形窗口有关的有3 3个函数个函数 _ _OpeningFcnOpeningFcn函数:可以在这个函数内完成数据初始化设置、函数:可以在这个函数内完成数据初始化设置、GUIGUI 的界面的控制和调整等工作。的界面的控制和调整等工

6、作。 _ _OutputFcnOutputFcn函数:用于控制输出运行结果。函数:用于控制输出运行结果。 _Callback_Callback函数:用于控制窗口的默认事件,即单击窗口空白区函数:用于控制窗口的默认事件,即单击窗口空白区 域的触发行为。域的触发行为。 1. GUIDE1. GUIDE设计实例设计实例 为图形窗口的打开事件编写响应代码。为图形窗口的打开事件编写响应代码。 handles.peakshandles.peaks=peaks(34);=peaks(34); handles.membranehandles.membrane=membrane;=membrane; x,yx,

7、y=meshgridmeshgrid( (- -8:0.3:8);8:0.3:8); r=r=sqrtsqrt(x.2+y.2);(x.2+y.2); sincsinc=sin(r)./(=sin(r)./(r+epsr+eps);); handles.sinchandles.sinc= =sincsinc; ; handles.current_datahandles.current_data= =handles.sinchandles.sinc; ; colormapcolormap(spring);(spring); 1. GUIDE1. GUIDE设计实例设计实例 为为3 3个绘图按钮编

8、写响应代码个绘图按钮编写响应代码。 在在Mseh_CallbackMseh_Callback函数体中添加以下代码。函数体中添加以下代码。 mesh(mesh(handles.current_datahandles.current_data) ) 在在Surf_CallbackSurf_Callback函数体中添加以下代码。函数体中添加以下代码。 surf(surf(handles.current_datahandles.current_data) ) 在在Contour3_CallbackContour3_Callback函数体中添加以下代码。函数体中添加以下代码。 contour3(cont

9、our3(handles.current_datahandles.current_data) ) (4 4)编写代码,实现控件功能。)编写代码,实现控件功能。 1. GUIDE1. GUIDE设计实例设计实例 为切换按钮编写响应代码。为切换按钮编写响应代码。 if if hObject.ValuehObject.Value=1=1 grid ongrid on hObject.StringhObject.String=隐藏网格隐藏网格; else else grid offgrid off hObject.StringhObject.String=显示网格显示网格; endend (4 4)编

10、写代码,实现控件功能。)编写代码,实现控件功能。 1. GUIDE1. GUIDE设计实例设计实例 为列表框(为列表框(ChooseFunChooseFun)编写响应代码。)编写响应代码。 strstr= =hObject.StringhObject.String; ; valval= =hObject.ValuehObject.Value; ; switch switch strtrimstrtrim( (strstr valval) case Peaks case Peaks handles.current_datahandles.current_data= =handles.peaksh

11、andles.peaks; ; case Membrane case Membrane handles.current_datahandles.current_data= =handles.membranehandles.membrane; ; case case SincSinc handles.current_datahandles.current_data= =handles.sinchandles.sinc; ; endend guidataguidata( (hObject,handleshObject,handles) ) 为色图弹出式菜单编写响应代码。为色图弹出式菜单编写响应代码

12、。 strstr= =hObject.StringhObject.String; ; cm=cm=hObject.ValuehObject.Value; ; colormapcolormap( ( evaleval( (strstrcm) );cm) ); 为视点设置按钮编写响应代码。为视点设置按钮编写响应代码。 el=el=evaleval( (handles.edit_el.Stringhandles.edit_el.String);); azaz= =evaleval( (handles.edit_az.Stringhandles.edit_az.String);); view(view

13、(az,elaz,el) ) 为着色方式按钮组为着色方式按钮组ChooseShadingChooseShading的的SelectionChangedSelectionChanged事件编写事件编写 响应代码。响应代码。 switch switch eventdata.NewValue.Tageventdata.NewValue.Tag case case rb_flatrb_flat shading flat;shading flat; case case rb_interprb_interp shading shading interpinterp; ; case case rb_face

14、tedrb_faceted shading faceted;shading faceted; end end (5 5)运行图形用户界面)运行图形用户界面 1. GUIDE1. GUIDE设计实例设计实例 例例2 2 生成一个用于观察周期信号波形叠加效果的程序模块。该应用生成一个用于观察周期信号波形叠加效果的程序模块。该应用 程序可以观察不同振幅比、相位差的基波和程序可以观察不同振幅比、相位差的基波和3 3次谐波的叠加波形,此次谐波的叠加波形,此 外还可以在信号中加入白噪声。右边的仪表显示波形的最大振幅。外还可以在信号中加入白噪声。右边的仪表显示波形的最大振幅。 2. App Designer

15、 2. App Designer 设计实例设计实例 (1 1)打开)打开AppApp DesignerDesigner,添加组件,并调整组件的位置和大小。,添加组件,并调整组件的位置和大小。 保存界面保存界面。 . .mlappmlapp文件文件 2. App Designer 2. App Designer 设计实例设计实例 新建应用程序。新建应用程序。 添加组件。添加组件。 (2 2)利用属性面板设置组件对象的属性。)利用属性面板设置组件对象的属性。 设置组件的标签。设置组件的标签。 设置坐标轴“启用网格和边框”。设置坐标轴“启用网格和边框”。 2. App Designer 2. App

16、 Designer 设计实例设计实例 (2 2)利用属性面板设置组件对象的属性。)利用属性面板设置组件对象的属性。 设置离散旋钮的项目,并选定第设置离散旋钮的项目,并选定第3 3项。项。 2. App Designer 2. App Designer 设计实例设计实例 (2 2)利用属性面板设置组件对象的属性。)利用属性面板设置组件对象的属性。 设置旋钮的值、最小值、最大值和刻度间隔。设置旋钮的值、最小值、最大值和刻度间隔。 设置拨动开关的开关位置在“设置拨动开关的开关位置在“OffOff”。”。 设置半圆形仪表的值、最小值、最大值。设置半圆形仪表的值、最小值、最大值。 2. App Desi

17、gner 2. App Designer 设计实例设计实例 (2 2)利用属性面板设置组件对象的属性。)利用属性面板设置组件对象的属性。 选中坐标轴对象,切换到“代码视图”,将坐标轴边框的选中坐标轴对象,切换到“代码视图”,将坐标轴边框的 LineWidthLineWidth属性值修改为属性值修改为0.20.2。 2. App Designer 2. App Designer 设计实例设计实例 (3 3)编写代码,实现组件功能。)编写代码,实现组件功能。 amramr= =evaleval( (app.ARadio.Valueapp.ARadio.Value);); theta=theta=a

18、pp.PhDiff.Valueapp.PhDiff.Value/180*pi;/180*pi; x=x=linspacelinspace(0,10*pi,300);(0,10*pi,300); y=sin(x)+sin(3*y=sin(x)+sin(3*x+thetax+theta)/)/amramr; ; if if strcmpstrcmp( (app.Noise.Value,Onapp.Noise.Value,On) y=y=awgnawgn(y,30);(y,30); endend app.WaveA.Valueapp.WaveA.Value=max(y);=max(y); plot(app.UIAxes,x,y,LineWidth,0.1);plot(app.UIAxes,x,y,LineWidth,0.1); 2. App Designer 2. App Designer 设计实例设计实例 (4 4)运行)运行AppApp应用程序。应用程序。 2. App Designer 2. App Designer 设计实例设计实例

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com