matlabGUI图形设计.ppt

上传人:sh****n 文档编号:6378592 上传时间:2020-02-24 格式:PPT 页数:46 大小:565.31KB
返回 下载 相关 举报
matlabGUI图形设计.ppt_第1页
第1页 / 共46页
matlabGUI图形设计.ppt_第2页
第2页 / 共46页
matlabGUI图形设计.ppt_第3页
第3页 / 共46页
点击查看更多>>
资源描述
2020 2 24 第9章GUI图形设计 1 第9章GUI图形设计 教学目标教学重点教学过程 2020 2 24 第9章GUI图形设计 2 教学目标 本章所描述的图形用户界面的功能 它让用户定制用户与MATLAB7的交互方式 从而提供一种命令窗口之外的与MATLAB7的交互方式 用户将学习句柄图形的使用 并掌握图形用户界面特性 包括菜单 上下文菜单 按钮 滚动条 单选按钮 弹出式菜单和列表框等 并掌握如何编制GUI程序 2020 2 24 第9章GUI图形设计 3 教学重点 句柄图形对象图形框架窗口对象GUI对象的创建GUI的编程方法GUI控件的使用 2020 2 24 第9章GUI图形设计 4 教学过程 句柄图形对象的基本知识图形框架窗口对象的基本内容图形对象属性的获取和设置图形对象的操作GUI的基本知识GUI对象的创建方法GUI的编程方法GUI的M文件GUI控件的使用 2020 2 24 第9章GUI图形设计 5 1 句柄图形对象 图形框架窗口对象 Figure 图形对象属性的获取和设置图形对象的操作 2020 2 24 第9章GUI图形设计 6 1 图形框架窗口对象 Figure 绘制图形的图形框架窗口对象核心 Core 对象绘图 Plot 对象注释对象 2020 2 24 第9章GUI图形设计 7 窗口对象 图形框架窗口对象是MATLAB7显示图形的窗口 包括菜单 工具栏 交互式对象 弹出式菜单 坐标 坐标轴子对象以及其他的图形对象 MATLAB7对一次打开的图形数目没有限制 用户的计算机系统可能会做出限制 在MATLAB7中 图形框架窗口对象有两条特殊的作用 包含数据图形 包含图形用户界面操作GUI 2020 2 24 第9章GUI图形设计 8 绘制图形的图形框架窗口对象 MATLAB7语言中实现句柄访问的函数 2020 2 24 第9章GUI图形设计 9 核心 Core 对象 核心对象包括直线 文本和特殊对象 如光 图像和面图 等基本的绘图命令 而坐标系对象包括线 面图和等高线图等描述数据的对象 2020 2 24 第9章GUI图形设计 10 核心 Core 对象 MATLAB7语言中创建核心对象的函数 2020 2 24 第9章GUI图形设计 11 核心 Core 对象举例 x y meshgrid 2 4 2 Z x exp x 2 y 2 fh figure Position 350275600450 Color w ah axes Color 8 8 8 XTick 2 1012 YTick 2 1012 sh surface XData x YData y ZData Z FaceColor get ah Color 1 EdgeColor k Marker o MarkerFaceColor 51 85 view 3 2020 2 24 第9章GUI图形设计 12 绘图 Plot 对象 MATLAB7提供了一系列的高级绘图函数来创建绘图对象 这些绘图对象的属性具有重要的意义 使用它们可以很方便地访问绘图对象所包含的核心对象的重要属性 2020 2 24 第9章GUI图形设计 13 绘图 Plot 对象 MATLAB7语言中的绘图对象及其绘图命令 2020 2 24 第9章GUI图形设计 14 绘图 Plot 对象举例 x y z peaks c h contour x y z set h LineWidth 3 LineStyle 2020 2 24 第9章GUI图形设计 15 注释对象 用户一般习惯于使用图形编辑工具栏或是Insert菜单来创建注释对象 同时 用户也可以使用注释函数来创建注释对象 注释对象在一个隐藏的坐标轴下创建 该坐标轴延伸到图形整个长度和宽度 这样 用户可以使法向坐标系 以图形的左下点为 0 0 右上点为 1 1 在图形的任意部位定义图例注释 2020 2 24 第9章GUI图形设计 16 2 图形对象属性的获取和设置 get函数set函数默认属性 2020 2 24 第9章GUI图形设计 17 get函数 在MATLAB7中 使用get函数可以得到对象的属性及其属性值 其通常的调用格式为 get handle PropertyName 关于它的详细使用方法 用户可以参见get函数的帮助信息 2020 2 24 第9章GUI图形设计 18 set函数 在MATLAB7中 使用set函数可以设置对象的属性值 其通常的调用格式如下 set H PropertyName PropertyValue 命令设置PropertyName的属性为PropertyValue set H a 命令中 a为结构型变量 字段名为图形对象的属性名 字段值为映像的属性值 set H PropertyName1 PropertyValue1 PropertyName2 PropertyValue2 命令同时设置多个属性的值 2020 2 24 第9章GUI图形设计 19 默认属性 MATLAB7在建立对象时把默认属性赋给各对象 如果想不采用这些默认值 就必须使用句柄图形工具对它们进行设置 当每次都要改变同一属性时 MATLAB7允许设置用户自己的默认属性 MATLAB7让用户改变对象层次结构中任意一点上的单个对象或对象类型的默认属性 2020 2 24 第9章GUI图形设计 20 默认属性举例 whitebg w createafigurewithawhitecolorschemeset 0 DefaultAxesColorOrder 000 DefaultAxesLineStyleOrder Z peaks plot 1 49 Z 4 7 2020 2 24 第9章GUI图形设计 21 3 图形对象的操作 查找对象堆积次序 2020 2 24 第9章GUI图形设计 22 查找对象 句柄图形提供了对图形对象的访问途径 并且允许用函数get和set定制图形 如果用户忘记保存句柄或图形对象的句柄 或者当变量被覆盖时 如果要改变对象的属性 就必须进行对象句柄的查找 MATLAB7提供了查找对象的函数gcf gca gco和findobj等 2020 2 24 第9章GUI图形设计 23 堆积次序 堆积次序决定哪一对象叠加在其他对象上 开始时 堆积次序在对象被创建时就被决定 最后创建的对象在堆栈的顶部 当前的堆积次序是由一个给定的对象Children句柄出现的次序给出的 2020 2 24 第9章GUI图形设计 24 2 GUI的基本知识 启动GUI布局 Layout 编辑器GUIDE模板介绍运行GUI 2020 2 24 第9章GUI图形设计 25 1 启动GUI 用户欲启动GUI操作 可以在命令窗口中输入guide命令 2020 2 24 第9章GUI图形设计 26 2 布局 Layout 编辑器 当用户在GUIDE中打开一个GUI时 该GUI将显示在Layout编辑器中 Layout编辑器是所有GUIDE工具的控制面板 2020 2 24 第9章GUI图形设计 27 布局 Layout 编辑器 用户可以使用鼠标拖动模板左边的控件 按钮 坐标轴 单选按钮等 到中间的布局区域 2020 2 24 第9章GUI图形设计 28 3 GUIDE模板介绍 GUIDEQuickStart对话框提供了几种常用的GUI模板 2020 2 24 第9章GUI图形设计 29 4 运行GUI 单击工具栏最右边的绿色按钮 即运行当前的GUI窗口 2020 2 24 第9章GUI图形设计 30 3 创建GUI对象 GUI窗口的布局改变GUI窗口的大小控件的添加和对齐GUI控件的属性控制属性查看器的显示一些常用的属性菜单的添加主菜单的创建弹出式菜单的的创建 2020 2 24 第9章GUI图形设计 31 1 GUI窗口的布局 改变GUI窗口的大小 在布局编辑器中可以很方便地改变GUI中网格区域的大小 只需单击网格区域的右下角 当鼠标变为箭头形式时 拖动鼠标 即可适时改变窗口的大小 2020 2 24 第9章GUI图形设计 32 2 GUI控件的属性控制 属性查看器的显示用户可以使用如下3种方式打开 在布局窗口中双击某个控件 在View菜单中选择PropertyInspector选项 右击某个控件并从弹出的快捷菜单中选择InspectProperties选项 2020 2 24 第9章GUI图形设计 33 3 主菜单的创建1 菜单属性的设置单击右图中的菜单标题Untitled1 将在菜单编辑器的右边显示该菜单的属性提供给用户进行编辑 如Label Tag Accelerator Separator和Checked等属性 2020 2 24 第9章GUI图形设计 34 3 主菜单的创建2 给菜单增添菜单项用户可以使用工具栏上的NewMenuItem图标给当前菜单增添菜单项 2020 2 24 第9章GUI图形设计 35 4 GUI编程 GUI的M文件与句柄结构共享数据M文件中的函数和响应控件的使用使用句柄结构进行GUI数据操作 2020 2 24 第9章GUI图形设计 36 1 与句柄结构共享数据 当运行GUI时 M文件创建一个包含所有GUI对象 如控件 菜单和坐标轴 的句柄结构 句柄结构作为一个每个响应的输入来处理 用户使用句柄结构可以实现如下操作 在各响应之间实现数据共享 访问GUI数据 2020 2 24 第9章GUI图形设计 37 在各响应之间实现数据共享 用户欲取得变量X的数据 可以先将句柄结构的一个域设为X 然后在使用guidata函数保存该句柄结构 如下所示 handles current data X guidata hObject handles 用户可以在其他任何响应中重新得到该变量的值 使用的操作如下 X handles current data 2020 2 24 第9章GUI图形设计 38 访问GUI数据 用户可以利用句柄结构获取GUI控件的任意数据用户要想使用GUI中的另一个控件 比如一个按钮 来在当前所选的菜单项实现某个操作 那么用户可以在该按钮的响应插入如下命令 all choices get handles my menu String current choice all choices get handles my menu Value 2020 2 24 第9章GUI图形设计 39 2 M文件中的函数和响应 用户可以给GUI的M文件的如下部分增加程序代码 打开函数 Openingfunction 该函数在GUI可见之前实施操作 输出函数 Outputfunction 在必要的时候向命令行输出数据 响应 Callbacks 在用户激活GUI中的相应控件时实施操作 2020 2 24 第9章GUI图形设计 40 打开函数 打开函数包含有在GUI可见之前进行操作的代码 用户可以在打开函数中访问GUI的所有控件 因为所有DUI中的对象都在调用打开函数之前就已经创建 如果用户需要在访问GUI之前实现某些操作 如创建数据或图形 那么可以通过在打开函数中增添代码来加以实现 对于一个文件名为my gui的GUI来说 它的打开函数的定义语句如下 functionmy gui OpeningFcn hObject eventdata handles varargin 2020 2 24 第9章GUI图形设计 41 输出函数 输出函数将输出结果返回给命令行 这一点在用户需要将某个变量传递给另一个GUI时尤其实用 UIDE在输出函数中生成如下代码 Outputsfromthisfunctionarereturnedtothecommandline functionvarargout my gui OutputFcn hObject eventdata handles Getdefaultcommandlineoutputfromhandlesstructurevarargout 1 handles output 2020 2 24 第9章GUI图形设计 42 3 控件的使用 开关 按钮 ToggleButton 的响应按钮 RadioButtons 的响应 复选框 控件 CheckBoxes 的响应 文本框 控件 EditText 的响应 滚动条 控件 Sliders 的响应 列表框 控件 ListBoxes 的响应 弹出菜单 控件 Pop UpMenus 的响应控件板 Panels 的响应 2020 2 24 第9章GUI图形设计 43 控件的使用举例1 按钮 RadioButtons 的响应在图形界面中添加该控件之后 该控件将在指定位置添加按钮 按钮的标识字符由属性String控制 而返回值由Value值控制 在GUI的M文件中使用如下形式的代码来编制Radio按钮的响应程序 if get hObject Value get hObject Max thenrsdiobuttonisselected takeapproriateactionelse radiobuttonisnotselected takeapproriateactionend 2020 2 24 第9章GUI图形设计 44 控件的使用举例2 复选框 控件 CheckBoxes 的响应在图形界面中添加该控件之后 该控件将提供复选功能 将显示文本字符串及选择框 在GUI的M文件中使用如下形式的代码来编制 复选框 控件的响应程序 functioncheckbox1 Callback hObject eventdata handles if get hObject Value get hObject Max thencheckboxischecked takeapproriateactionelse checkboxisnotchecked takeapproriateactionend 2020 2 24 第9章GUI图形设计 45 控件的使用举例3 文本框 控件 EditText 的响应在图形界面中添加该控件之后 该控件的属性相当于其他语言设计中的文本框属性 允许用户动态地编辑或是输入文本字符串 如果需要获取用户在文本框中输入的字符串 可以在响应程序中输入如下代码 functionedittext1 Callback hObject eventdata handles user string get hObject string proceedwithcallback 2020 2 24 第9章GUI图形设计 46 4 使用句柄结构进行GUI数据操作 GUIDE提供了一种机制来存储和检索共享的数据 这些操作都通过包含有GUI控件句柄的相同结构来实现 这种机制就称为句柄结构 句柄结构包含有GUI的所有控件的句柄 它在M文件中被传递给每一个响应 因此 该响应对保存任意共享数据十分有用
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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