matlabgui图形设计

上传人:san****019 文档编号:70780263 上传时间:2019-01-18 格式:PPT 页数:46 大小:565.31KB
返回 下载 相关 举报
matlabgui图形设计_第1页
第1页 / 共46页
matlabgui图形设计_第2页
第2页 / 共46页
matlabgui图形设计_第3页
第3页 / 共46页
matlabgui图形设计_第4页
第4页 / 共46页
matlabgui图形设计_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《matlabgui图形设计》由会员分享,可在线阅读,更多相关《matlabgui图形设计(46页珍藏版)》请在金锄头文库上搜索。

1、2019/1/18,第9章 GUI图形设计,1,第9章 GUI图形设计,教学目标 教学重点 教学过程,2019/1/18,第9章 GUI图形设计,2,教学目标,本章所描述的图形用户界面的功能,它让用户定制用户与MATLAB 7的交互方式。从而提供一种命令窗口之外的与MATLAB 7的交互方式。 用户将学习句柄图形的使用。并掌握图形用户界面特性(包括菜单、上下文菜单、按钮、滚动条、单选按钮、弹出式菜单和列表框等),并掌握如何编制GUI程序。,2019/1/18,第9章 GUI图形设计,3,教学重点,句柄图形对象 图形框架窗口对象 GUI对象的创建 GUI的编程方法 GUI控件的使用,2019/1

2、/18,第9章 GUI图形设计,4,教学过程,句柄图形对象的基本知识 图形框架窗口对象的基本内容 图形对象属性的获取和设置 图形对象的操作 GUI的基本知识 GUI对象的创建方法 GUI的编程方法 GUI的M文件 GUI控件的使用,2019/1/18,第9章 GUI图形设计,5,1. 句柄图形对象,图形框架窗口对象(Figure) 图形对象属性的获取和设置 图形对象的操作,2019/1/18,第9章 GUI图形设计,6,(1) 图形框架窗口对象(Figure),绘制图形的图形框架窗口对象 核心(Core)对象 绘图(Plot )对象 注释对象,2019/1/18,第9章 GUI图形设计,7,窗

3、口对象,图形框架窗口对象是MATLAB 7显示图形的窗口,包括菜单、工具栏、 交互式对象、弹出式菜单、坐标、坐标轴子对象以及其他的图形对象。 MATLAB 7对一次打开的图形数目没有限制(用户的计算机系统可能会做出限制)。 在MATLAB 7中,图形框架窗口对象有两条特殊的作用。 包含数据图形; 包含图形用户界面操作GUI。,2019/1/18,第9章 GUI图形设计,8,绘制图形的图形框架窗口对象,MATLAB 7语言中实现句柄访问的函数,2019/1/18,第9章 GUI图形设计,9,核心(Core)对象,核心对象包括直线、文本和特殊对象(如光、图像和面图)等基本的绘图命令;而坐标系对象包

4、括线、面图和等高线图等描述数据的对象。,2019/1/18,第9章 GUI图形设计,10,核心(Core)对象,MATLAB 7语言中创建核心对象的函数,2019/1/18,第9章 GUI图形设计,11,核心(Core)对象举例, x,y = meshgrid(-2:.4:2); Z = x.*exp(-x.2-y.2); fh = figure(Position,350 275 600 450,Color,w); ah = axes(Color,.8 .8 .8,XTick,-2 -1 0 1 2,. YTick,-2 -1 0 1 2); sh = surface(XData,x,YDat

5、a,y,ZData,Z,. FaceColor,get(ah,Color)+.1,. EdgeColor,k,Marker,o,. MarkerFaceColor,.5 1 .85); view(3),2019/1/18,第9章 GUI图形设计,12,绘图(Plot )对象,MATLAB 7提供了一系列的高级绘图函数来创建绘图对象,这些绘图对象的属性具有重要的意义,使用它们可以很方便地访问绘图对象所包含的核心对象的重要属性。,2019/1/18,第9章 GUI图形设计,13,绘图(Plot )对象,MATLAB 7语言中的绘图对象及其绘图命令,2019/1/18,第9章 GUI图形设计,14,

6、绘图(Plot )对象举例, x,y,z = peaks; c,h = contour(x,y,z); set(h,LineWidth,3,LineStyle,:) ,2019/1/18,第9章 GUI图形设计,15,注释对象,用户一般习惯于使用图形编辑工具栏或是Insert菜单来创建注释对象,同时,用户也可以使用注释函数来创建注释对象。 注释对象在一个隐藏的坐标轴下创建,该坐标轴延伸到图形整个长度和宽度,这样,用户可以使法向坐标系(以图形的左下点为(0,0),右上点为(1,1)在图形的任意部位定义图例注释。,2019/1/18,第9章 GUI图形设计,16,(2) 图形对象属性的获取和设置,

7、get函数 set函数 默认属性,2019/1/18,第9章 GUI图形设计,17,get函数,在MATLAB 7中,使用get函数可以得到对象的属性及其属性值,其通常的调用格式为 : get(handle, PropertyName )。 关于它的详细使用方法,用户可以参见get函数的帮助信息。,2019/1/18,第9章 GUI图形设计,18,set函数,在MATLAB 7中,使用set函数可以设置对象的属性值,其通常的调用格式如下。 set(H,PropertyName,PropertyValue)命令设置PropertyName的属性为PropertyValue。 set(H,a)命令

8、中,a为结构型变量,字段名为图形对象的属性名,字段值为映像的属性值。 set(H,PropertyName1,PropertyValue1,PropertyName2,PropertyValue2,.)命令同时设置多个属性的值。,2019/1/18,第9章 GUI图形设计,19,默认属性,MATLAB 7在建立对象时把默认属性赋给各对象。如果想不采用这些默认值,就必须使用句柄图形工具对它们进行设置。当每次都要改变同一属性时,MATLAB 7允许设置用户自己的默认属性。MATLAB 7让用户改变对象层次结构中任意一点上的单个对象或对象类型的默认属性。,2019/1/18,第9章 GUI图形设计,

9、20,默认属性举例, whitebg(w) %create a figure with a white color scheme set(0,DefaultAxesColorOrder,0 0 0,. DefaultAxesLineStyleOrder,-|-|:|-.) Z = peaks; plot(1:49,Z(4:7,:) ,2019/1/18,第9章 GUI图形设计,21,(3) 图形对象的操作,查找对象 堆积次序,2019/1/18,第9章 GUI图形设计,22,查找对象,句柄图形提供了对图形对象的访问途径,并且允许用函数get和set定制图形。 如果用户忘记保存句柄或图形对象的句

10、柄,或者当变量被覆盖时,如果要改变对象的属性,就必须进行对象句柄的查找。MATLAB 7提供了查找对象的函数gcf、gca、gco和findobj等 。,2019/1/18,第9章 GUI图形设计,23,堆积次序,堆积次序决定哪一对象叠加在其他对象上。开始时,堆积次序在对象被创建时就被决定,最后创建的对象在堆栈的顶部。 当前的堆积次序是由一个给定的对象Children句柄出现的次序给出的。,2019/1/18,第9章 GUI图形设计,24,2. GUI的基本知识,启动GUI 布局(Layout)编辑器 GUIDE模板介绍 运行GUI,2019/1/18,第9章 GUI图形设计,25,(1)启动

11、GUI,用户欲启动GUI操作,可以在命令窗口中输入guide命令。,2019/1/18,第9章 GUI图形设计,26,(2)布局(Layout)编辑器,当用户在GUIDE 中打开一个GUI时,该GUI将显示在 Layout编辑器中,Layout编辑器是所有GUIDE工具的控制面板。,2019/1/18,第9章 GUI图形设计,27,布局(Layout)编辑器,用户可以使用鼠标拖动模板左边的控件(按钮、坐标轴、单选按钮等)到中间的布局区域 。,2019/1/18,第9章 GUI图形设计,28,(3)GUIDE模板介绍,GUIDE Quick Start对话框提供了几种常用的GUI模板 。,201

12、9/1/18,第9章 GUI图形设计,29,(4)运行GUI,单击工具栏最右边的绿色按钮,即运行当前的GUI窗口。,2019/1/18,第9章 GUI图形设计,30,3. 创建GUI对象,GUI窗口的布局 改变GUI窗口的大小 控件的添加和对齐 GUI控件的属性控制 属性查看器的显示 一些常用的属性 菜单的添加 主菜单的创建 弹出式菜单的的创建,2019/1/18,第9章 GUI图形设计,31,(1)GUI窗口的布局,改变GUI窗口的大小 。 在布局编辑器中可以很方便地改变GUI 中网格区域的大小,只需单击网格区域的右下角,当鼠标变为箭头形式时,拖动鼠标,即可适时改变窗口的大小 。,2019/

13、1/18,第9章 GUI图形设计,32,(2)GUI控件的属性控制,属性查看器的显示 用户可以使用如下3种方式打开: 在布局窗口中双击某个控件。 在View 菜单中选择Property Inspector选项。 右击某个控件并从弹出的快捷菜单中选择Inspect Properties选项。,2019/1/18,第9章 GUI图形设计,33,(3)主菜单的创建1,菜单属性的设置 单击右图中的菜单标题Untitled 1,将在菜单编辑器的右边显示该菜单的属性提供给用户进行编辑,如Label、Tag、Accelerator、Separator和Checked等属性。,2019/1/18,第9章 GU

14、I图形设计,34,(3)主菜单的创建2,给菜单增添菜单项 用户可以使用工具栏上的New Menu Item图标给当前菜单增添菜单项 。,2019/1/18,第9章 GUI图形设计,35,4. GUI 编 程,GUI的M文件 与句柄结构共享数据 M文件中的函数和响应 控件的使用 使用句柄结构进行GUI数据操作,2019/1/18,第9章 GUI图形设计,36,(1)与句柄结构共享数据,当运行GUI时,M文件创建一个包含所有GUI对象(如控件、菜单和坐标轴)的句柄结构,句柄结构作为一个每个响应的输入来处理。用户使用句柄结构可以实现如下操作。 在各响应之间实现数据共享; 访问GUI数据。,2019/

15、1/18,第9章 GUI图形设计,37,在各响应之间实现数据共享,用户欲取得变量X的数据,可以先将句柄结构的一个域设为X,然后在使用guidata函数保存该句柄结构,如下所示: handles.current_data = X; guidata(hObject,handles) 用户可以在其他任何响应中重新得到该变量的值,使用的操作如下。 X = handles.current_data;,2019/1/18,第9章 GUI图形设计,38,访问GUI数据,用户可以利用句柄结构获取GUI控件的任意数据 用户要想使用GUI中的另一个控件(比如一个按钮)来在当前所选的菜单项实现某个操作,那么用户可以

16、在该按钮的响应插入如下命令。 all_choices = get(handles.my_menu, String) current_choice = all_choicesget(handles.my_menu, Value),2019/1/18,第9章 GUI图形设计,39,(2) M文件中的函数和响应,用户可以给GUI的M文件的如下部分增加程序代码: 打开函数(Opening function),该函数在GUI可见之前实施操作。 输出函数(Output function),在必要的时候向命令行输出数据。 响应(Callbacks),在用户激活GUI中的相应控件时实施操作。,2019/1/18,第9章 GUI图形设计,40,打开函数,打开函数包含有在GUI可见之前进行操作的代码,用户可以在打开函数中访问GUI的所有控件,因为所有DUI中的对象都在调用打开函数之前就已经创建。 如果用户需要在访问G

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号