欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    第7章用户图形界面设计.ppt

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

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

    第7章用户图形界面设计.ppt

    1,第7章 用户图形界面设计,2,本章目标,理解用户图形界面的用途 掌握图形用户界面的设计开发工具GUIDE 理解图形对象的常用句柄命令,3,主要内容,7.1图形用户界面设计工具GUIDE 7.2控件 7.3 GUIDE常用工具 7.4使用GUIDE的GUI设计 7.5句柄图形 7.6图形对象句柄命令,4,7.1图形用户界面设计工具GUIDE,可视化图形界面开发环境Guide Graphical User Interface Development Environment,5,用户界面开发环境组成,(1)菜单栏; (2)Guide工具栏; (3)图形控件面板; (4)界面编辑客户区。,6,7.2 控件,1静态文本(Static Text) 2编辑框(Edit Text)控件 3列表框(Listbox)控件 4滚动条(Slider)控件 5按钮(Push Button)控件 6开关按钮(Toggle Button)控件 7单选按钮(Radio Button)控件 8按钮组(Button Group)控件 9检查框(Check Box)控件 10列表框(Listbox)控件 11弹出式菜单(Popup Menu)控件 12坐标轴(Axes)控件 13面板(Panel)控件,7,7.3 GUIDE常用工具,Layout Editor:布局编辑器; Alignment Tool:对齐工具; Property Inspector:对象属性观察器; Object Browser:对象浏览器; Menu Editor:菜单编辑器。,8,1布局编辑器,(1)Cut:对选中的控件进行剪切操作。 (2)Copy:复制选中的控件。 (3)Paste:粘贴复制的控件。 (4)Delete:删除选中的控件。 (5)Duplicate:对选中的控件进行复制并粘贴。 (6)Property Inspector:对选中的控件打开属性检查器。 (7)Object Browser:打开对象浏览器。 (8)ButtonDownFcn:按下鼠标时控件回调的函数。 (9)Callback:单击鼠标时控件回调的函数或功能。 (10)CreateFcn:定义控件在创建阶段执行的回调例程。 (11)DeleteFcn:定义在对象的删除阶段执行的回调例程。,9,2对齐工具,10,3对象属性观察器,一、控件风格和外观 (1)BackgroundColor:设置控件背景颜色,使用R G B或颜色定义。 (2)CData:在控件上显示的真彩色图像,使用矩阵表示。 (3)ForegroundColor:文本颜色。 (4)String属性:控件上的文本,以及列表框和弹出菜单的选项。 (5)Visible:控件是否可见。,11,3对象属性观察器,二、对象的常规信息 (1)Enable属性: 表示此控件的使能状态,设置为on”,表示可选,为“off”时则表示不可选。 (2)Style:控件对象类型。 (3)Tag:控件表示(用户定义)。 (4)TooltipString属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。 (5)UserData:用户指定数据。 (6)Position:控件对象的尺寸和位置。 (7)Units:设置控件的位置及大小的单位 (8)有关字体的属性,如 FontAngle, FontName等。,12,3对象属性观察器,三、控件回调函数的执行 (1)BusyAction:处理回调函数的中断。有两种选项:即Cancel:取消中断事件,queue:排队(默认设置)。 (2)ButtonDownFcn属性:按钮按下时的处理函数。 (3)CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。 (4)CreateFcn:在对象产生过程中执行的回调函数。 (5)DeleteFcn:删除对象过程中执行的回调函数。 (6)Interruptible属性:指定当前的回调函数在执行时是否允许中断,去执行其他的函数。,13,3对象属性观察器,四、控件当前状态信息 (1)ListboxTop:在列表框中显示的最顶层的字符串的索引。 (2)Max:最大值。 (3)Min:最小值。 (4)Value:控件的当前值。,14,4对象浏览器,对象浏览器里面列出了所有对象的树状结构,这些结构就是当前正在设计的GUI程序中用到的所有对象。,15,5菜单编辑器,菜单编辑器提供了两种菜单类型的编辑功能: 下拉式菜单(Menu Bar) 弹出式菜单(Context Menu),16,例7-2 编写一个3D立体图的演示程序,17,7.4使用GUIDE的GUI设计,使用Guide进行GUI的界面设计,就像在纸上绘制界面一样简单。 界面编辑工具设计出界面的大体方案 事件过程编辑器编写各个对象的事件代码,18,例7-3 建立一个图形界面来显示和处理三维图形,基本功能要求如下。 (1)建立一个坐标系,以备以后来绘制三维图形; (2)建立三个按钮,用于启动绘图功能; (3)建立一个组合框(Popup Menu),用于显示不同的图形。,19,解题步骤:,(1)打开布局编辑器 (2)增加组件 (3)对齐工具 (4)设置每个组件的属性; (5)设置Guide应用程序选项,采用默认属性。 (6)激活图形,20,程序代码:,function varargout = My0703(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', My0703_OpeningFcn, . 'gui_OutputFcn', My0703_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', ); if nargin end,21,程序代码:,function My0703_OpeningFcn(hObject, eventdata, handles, varargin) handles.peaks=peaks(35); handles.membrane=membrane; x,y=meshgrid(-8:0.5:8); r=sqrt(x.2+y.2)+eps; sinc=sin(r)./r; handles.sinc=sinc; handles.current_data=handles.peaks; surf(handles.current_data); handles.output = hObject; guidata(hObject, handles); function varargout = My0703_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output; function Surf_pushbutton_Callback(hObject, eventdata, handles) surf(handles.current_data); function Mesh_pushbutton_Callback(hObject, eventdata, handles) mesh(handles.current_data);,22,程序代码:,function Contour_pushbutton_Callback(hObject, eventdata, handles) contour(handles.current_data); function data_popup_Callback(hObject, eventdata, handles) val=get(hObject,'Value'); str=get(hObject,'String'); switch strval case 'peaks' handles.current_data=handles.peaks; case 'membrane' handles.current_data=handles.membrane; case 'sinc' handles.current_data=handles.sinc; end guidata(hObject,handles);,23,7.5句柄图形,句柄图形是对底层图形命令集合的总称,它实际上进行生成图形的工作。,24,7.5.1句柄图形的层次关系,25,7.5.2图形窗口对象的属性,1Color属性 2MenuBar属性 3Name属性 4NumberTitle属性 5Units 属性 6Position属性 7Resize属性 8Visible属性 9NextPlot属性 10打印纸属性 11各种回调函数,26,7.6图形对象句柄命令,句柄系统可以从底层(1ow level)创建和操作线、面、文字、图像等基本图形对象指令。,27,7.6.1建立图形对象的函数,1figure函数:创建一个新的图形对象。 2newplot函数:做好开始画新图形对象的准备。 3axes函数:创建坐标轴图形对象。 4line函数:画线。 5patch函数:填充多边形。 6surface函数:绘制三维曲面。 7image函数:显示图片对象。 8uicontrol函数:生成用户控制图形对象。 9uimenu函数:生成图形窗口的菜单中层次菜单与下一级子菜单。,28,例7-4 显示曲线图,程序: h=figure(); t=0:pi/10:2*pi; line(t, sin(t); line(t, cos(t);,29,例7-5显示多边形。,程序: x=0:pi/4:2*pi; patch(sin(x),cos(x),'r'),30,7.6.2图形对象句柄的获得和删除,gcf函数:获得当前图形窗口的句柄 gca函数:获得当前坐标轴的句柄 gco函数:获得当前对象的句柄 gcbo函数:获得当前正在执行调用的对象的句柄 gcbf函数:获取包括正在执行调用的对象的图形句柄 delete函数:删除句柄所对应的图形对象 findobj函数:查找具有某种属性的图形对象,31,7.6.3对象属性的获取和设置,(1)get函数返回某些对象属性的当前值。例如: pget(hf_1,'Position') ; (2)函数set改变句柄图形对象属性,例如: set(hf_1,'Position',vect);,32,扩展阅读,7.7公用对话框文件 文件选择对话框 颜色选择对话框 字体选择对话框 页面设置对话框 警告与错误信息对话框 简单帮助信息对话框,33,上机指导,7.8 动画制作 例:编写一个演示程序,用于显示小球沿正弦曲线运动的运动规律。,34,应用举例,利用界面设计工具guide,重新编写MATLAB中平面演示程序graf2d.m。,35,解题步骤:,(1)利用界面编辑器,设计窗口初始位置和大小,添加所需控件 (2)新建图形对象,对齐所有控件 (3)设置新建对象的属性 (4)在产生的M文件加入相应代码,36,程序代码1,function line_pushbutton_Callback(hObject, eventdata, handles) cmdStr=str2mat( . ' % Line plot of a chirp', . ' x=0:0.05:5;', . ' y=sin(x.2);', . ' plot(x,y);' . ); set(handles.edit1,'String',cmdStr); evalmcw(handles.edit1); function bar_pushbutton_Callback(hObject, eventdata, handles) cmdStr=str2mat( . ' % Bar plot of a bell shaped curve', . ' x = -2.9:0.2:2.9;', . ' bar(x,exp(-x.*x);' . ); set(handles.edit1,'String',cmdStr); evalmcw(handles.edit1);,37,程序代码2,function stair_pushbutton_Callback(hObject, eventdata, handles) cmdStr=str2mat( . ' % Stairstep plot of a sine wave', . ' x=0:0.25:10;', . ' stairs(x,sin(x);' . ); set(handles.edit1,'String',cmdStr); evalmcw(handles.edit1); function Error_pushbutton_Callback(hObject, eventdata, handles) cmdStr=str2mat( . ' % Errorbar plot', . ' x=-2:0.1:2;', . ' y=erf(x);', . ' e = rand(size(x)/10;', . ' errorbar(x,y,e);' . ); set(handles.edit1,'String',cmdStr); evalmcw(handles.edit1);,38,程序代码3,function Polar_pushbutton_Callback(hObject, eventdata, handles) cmdStr=str2mat( . ' % Polar plot', . ' t=0:.01:2*pi;', . ' polar(t,abs(sin(2*t).*cos(2*t);' . ); set(handles.edit1,'String',cmdStr); evalmcw(handles.edit1); function stem_pushbutton_Callback(hObject, eventdata, handles) cmdStr=str2mat( . ' % Stem plot', . ' x = 0:0.1:4;', . ' y = sin(x.2).*exp(-x);', . ' stem(x,y)' . ); set(handles.edit1,'String',cmdStr); evalmcw(handles.edit1);,39,程序代码4,function info_pushbutton_Callback(hObject, eventdata, handles) helpwin function close_pushbutton_Callback(hObject, eventdata, handles) close(gcf);,40,学好计算机的唯一途径是 你的编程能力与你在计算机上投入的时间成,结 束 语,上机练习,正比,

    注意事项

    本文(第7章用户图形界面设计.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开