[PPT模板]06第六章句柄图形和用户图形界面设计.ppt

上传人:音乐台 文档编号:1995593 上传时间:2019-01-29 格式:PPT 页数:51 大小:1,005.50KB
返回 下载 相关 举报
[PPT模板]06第六章句柄图形和用户图形界面设计.ppt_第1页
第1页 / 共51页
[PPT模板]06第六章句柄图形和用户图形界面设计.ppt_第2页
第2页 / 共51页
[PPT模板]06第六章句柄图形和用户图形界面设计.ppt_第3页
第3页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[PPT模板]06第六章句柄图形和用户图形界面设计.ppt》由会员分享,可在线阅读,更多相关《[PPT模板]06第六章句柄图形和用户图形界面设计.ppt(51页珍藏版)》请在三一文库上搜索。

1、2019/1/29,1,第六章 句柄图形和用户图形界面设计,教学目标 介绍MATLAB的句柄图形和GUI开发环境、开发实例 学习要求 理解用户图形界面程序的构造,掌握编程方法,2019/1/29,2,用户界面:人与机器之间交互作用的工具和方法,图形用户界面(GUI)是由窗口、光标、按键、菜单及文字说明等对象(Objects)构成的一个用户界面,用户通过一定的方法激活这些图形对象,产生某种动作或变化,比如实现计算和绘图等。,2019/1/29,3,6.1界面环境初步了解,MATLAB提供了一个可视化的图形界面开发环境Guide(Graphical User Interface Develpmen

2、t)。 FileNewGUI 命令窗口:GUIDE 个工具,界面编辑面板、对象对齐工具、对象属性编辑器、对象浏览器、菜单编辑器 Guide控制面板分4个部分,分别为:菜单栏、guide工具栏、图形对象面板和界面编辑客户区,2019/1/29,4,6.2 句柄图形,MATLAB提供了一组用于创建及操作线、面、文字和像等基本图形对象的低级函数,这组命令可以对各图形对象进行更为细致的修饰和控制,低级函数不仅可以产生更为复杂的图形,而且为动态图形提供了基础。这个系统称为句柄图形系统。,2019/1/29,5,高层绘图函数是对整个图形进行操作的,图形每一部分的属性都是按缺省方式设置的,充分体现了MATL

3、AB语言的实用性。 在高层绘图中对图形对象的描述一般是缺省的或由高层绘图函数自动设置的,因此对用户来说几乎是不透明的。 底层绘图函数可以定制图形,对图形的每一部分进行控制,用户可以用来开发用户界面以及各专业的专用图形。充分体现了MATLAB语言的开发性,2019/1/29,6,6.2.1句柄图形的层次关系,根对象 Root screen,图形窗口对象 figures,坐标轴 Axes,界面控件,菜单,右键菜单,文字,线对象,表面图,图像,光源,三维块,矩形块,2019/1/29,7,句柄图形:利用底层绘图函数,通过对对象属性的设置(Handle Graphics)与操作实现绘图。 句柄图形中所

4、有图形操作都是针对图形对象而言的。 句柄图形充分体现了面向对象的程序设计。,2019/1/29,8,句柄图形的特点,句柄图形可以随意改变MATLAB生成图形的方式。 句柄图形允许你定制图形的许多特性,无论是对图形做一点小改动,还是影响所有图形输出的整体改动。 句柄图形的特性高层绘图函数是无法实现的,2019/1/29,9,创建图形对象的底层函数,figure创建图形窗口 调用格式: h=figure(n) n为窗口序号 uicontrol图形界面控制 调用格式: h=uicontrol(property,value) property/value确定控制类型,2019/1/29,10,uime

5、nu创建用户界面菜单 调用格式: h=uimenu(property,value) property/value 确定菜单形式。 axes 创建轴对象 h=axes(property, ) 定义轴对象的位置与大小,2019/1/29,11,line 创建线对象 h=line(x,y,z) patch 创建块对象 h=patch(x,y,z,c) x,y,z定义多边形,c确定填充颜色。 surface 创建面对象 h=surface(x,y,z,c) x,y,z三维曲面坐标,c颜色矩阵。,二维画线,三维画线,2019/1/29,12,image 显示图象 h=image(x); x为图像矩阵 t

6、ext 标注文字 h=text(x,y,string) 每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中。 但句柄绘图中上述图形对象都是用户需要经常使用的,所以要作到心中有数,用句柄设置图形对象的属性。,确定标注位置,标注字符串,2019/1/29,13,6.2.2 图形窗口对象的属性,所有图形窗口都有决定其如何表现的属性,一类是共性:包括类型、可视、剪辑及中断允许等。另一类是特性:针对某一对象独有的如定义“面”的数据,“轴”的刻度等。属性可以在界面编辑面板的ToolsProperty Inspector菜单项设置。 图形窗口对象本身是一个窗口,具有一般窗口对象的共同属性。其常用

7、属性如下: Color、MenuBar、Name、NumberTitle、Unites、Position、Resize。,2019/1/29,14,1.Color属性 图形背景颜色。RGB: 0 0 0黑色,1 1 1白色 2.MenuBar属性 是否在图形窗口的顶部显示图形菜单栏。None缺省设置 3.Name属性 窗口标题 4.NumberTitle属性 在图形窗口中是否加上图形编号。 5.Units属性 像素Pixels、英寸inches、厘米Centimeters 6.Position属性 设置图形显示的大小的位置。,2019/1/29,15,7.Resize属性 能否改变窗口的大小。

8、 8.各种回调函数 Callback:在对象被选中时执行的回调函数; ButtonDownFcn:按下界面上按钮所执行的函数; KeyPressFcn:在键盘按下时执行的函数; WindowButtonDownFcn:在图形是窗口中移动鼠标时调用的函数。,2019/1/29,16,6.2.3句柄与句柄获取,什么是句柄? 句柄(handle)是图形对象的标识代码,标识代码含有图形对象的各种必要的属性信息。 各图形对象的句柄数据格式: 根屏幕 0 图形窗口 整数,表示图形窗口数 其它对象 对应的符点数,2019/1/29,17,所有能创建图形对象的MATLAB函数都可给出所创建图形对象的句柄 例:

9、创建1号窗口,返回句柄 h=figure(1) h=1 返回值为窗口号数 例:h=line(1:6,1:6)创建线对象的同时也建立了一个唯一的句柄 变量h是句柄值浮点数,2019/1/29,18,图形对象属性的获得与设置,要设置图形对象属性值,首先要知道该对象的句柄,基本方法有以下几种。 从图形创建指令获取 追溯法获取句柄 当前对象句柄的获取 根据对象特性获取句柄 根据对象”浑名“(tag)获取,2019/1/29,19,1.从图形创建 句柄 所有高层或底层指令都能从图形创建时获取句柄。 H_gc=graphic Ccommand 2. 追溯法获取句柄 若一个对象的句柄为H_know,那么可用

10、如下格式获取其父或其子对象句柄 H_pa=get(H_know,parent) H_ch=get(H_know,children) 3.当前对象句柄的获取 Gcf:当前窗口对象的句柄 Gca:当前轴对象的句柄 Geo:获取“被鼠标最近点击”的图形对象句柄,2019/1/29,20,4.根据对象特性获取句柄 利用对象特性搜索对象句柄可以得到较高的搜索速度 H=findobj(H_ori,”PN”,”PV”) 在H_ori制定对象上,寻找与属性对(”PN”,”PV”)匹配的对象句柄 5.根据“浑名”(tag)获取 可以通过“tag”属性,给对象一个“浑名”,然后可以通过“浑名”获取该对象的句柄 设

11、置“浑名”的两个方法 创建时赋名:plot (x,y,“Tag”,A4) 用set完成:h=plot(x,y) set(h,“Tag”,A4),2019/1/29,21,操作格式: h=gcf 将当前窗口对象的句柄返回h get(h)或get(gcf) 查阅当前窗口对象的属性 delete(gcf) 删除当前窗口的属性 例:h=line(x,y) get(h),2019/1/29,22,例:创建一个线对象并返回线对象的句柄值 h1=line(0:10,0:10) h1 = 57.0001 h1为句柄的代码值,2019/1/29,23,查阅线对象的属性名称和属性值 get(h1) Color =

12、 1 1 0 EraseMode = normal LineStyle = - LineWidth = 0.5 MarkerSize = 6 Xdata = (1 by 11) Ydata = (1 by 11) Zdata = ,2019/1/29,24,ButtonDownFcn = Children = Clipping = on Interruptible = no Parent = 56.0001 Type = line UserData = Visible = on 根据轴是线对象的父代,可查轴的句柄 get(gca),2019/1/29,25,可查色序 get(gca,color

13、order) ans = 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 1,2019/1/29,26,set: 改变图形对象的属性 设置线条和窗口的颜色 set(h1,color,1 0 0) set(h1,color,1 0.5 0),2019/1/29,27,set(gcf,color,0.5 0.5 0.5) set(gcf,color,0.5 0.6 0.8),2019/1/29,28,例:作正弦、余弦曲线,将正弦曲线改为虚线,将余弦曲线幅度减为1/2高度,如何用句柄实现。 x=0:2*pi/180:2*pi; y1=sin(x);y2=cos(x); plot(

14、x,y1,x,y2,x,zeros(size(x) ),w:),2019/1/29,29,首先查询各对象的属性 get(gcf) h=get(gcf,children) h = 60.0004 hh=get(gca,children) hh = 70.0004 69.0004 68.0004,2019/1/29,30,y11=get(hh(2),ydata); y22=y11/2; set(hh(2),ydata,y22) set(hh(3),linestyle,:),2019/1/29,31,6.3 对象的属性操作, 控制一个图形对象是通过句柄实现的,具体是通过句柄操作函数get,set将某

15、对象句柄属性作设置与修改。 对象属性的直接操作 对象属性的直接操作是通过当前句柄来 实现的,所以首先要获得当前句柄值以及 对象的属性,然后再查询或修改。,2019/1/29,32,get(h) get(h, propertyname) set(h) set(h,propertyname,value) set(h,属性名称,新属性) color, r linestyle, : figurecolor, m,2019/1/29,33,2.对象属性的继承操作 对象属性的继承操作是通过父代对象,设置缺省对象属性来实现的。 父代句柄属性中设置缺省值后,所有子代对象均可以继承该属性的缺省值。 属性缺省值的

16、描述结构为: Dfault+对象名称+对象属性,2019/1/29,34,如:DefaultFigureColor 图形窗口的颜色 DefaultAxesAspaceRatio 轴的视图比率 DefaultLineLineWide 线的宽度 DefaultLineColor 线的颜色 缺省值的获得与设置也是由get,set函数实现的,2019/1/29,35,例: get(0,DefaultFigureColor) 获得图形 窗口的缺省值 set(h,DefaultLineColor,r) 设置线的 颜色为红色 例:在图上添加文字注释,颜色为红色 set(gca,DefaultTextColo

17、r,1 0 0) gtext(正弦) gtext(余弦) 在轴对象上设置字对象的颜色缺省值为红色 继承该缺省值在图上添加红色的文字注释,2019/1/29,36,3.其它操作 default 由父代继承 factory 厂家设定缺省值 remove 清除设定缺省值 例:set(gca,defaultlinecolor,remove) set(h,color,factory) 注意:plot,line命令遵循colororder色序对设置缺省值无效,,2019/1/29,37,6.4可视化界面环境,进入: 新建文件 命令窗口键入GUIDE 5个工具 界面编辑面板 对象对齐工具 对象属性编辑器 对

18、象浏览器 菜单编辑器,2019/1/29,38,图形用户界面,图形用户界面是包含图形对象,如:窗口、图标、菜单、按钮和文本的用户界面。 以某种方式选择或激活这些对象,通常引起动作或发生变化。 最常见的激活方法是用鼠标或其它点设备去控制屏幕上的鼠标指针的运动。按下鼠标按钮,标志着对象的选择或其它动作。,2019/1/29,39,2019/1/29,40,6.4.1 设计工作区(The Layout Editor),2019/1/29,41,6.4.2 属性设计器(Properties Inspector ),2019/1/29,42,属性设计器,一、控件风格和外观 (1)BackgroundCo

19、lor:设置控件背景颜色,使用R G B或颜色定义。 (2)CData:在控件上显示的真彩色图像,使用矩阵表示。 (3)ForegroundColor:文本颜色。 (4)String属性:控件上的文本,以及列表框和弹出菜单的选项。 (5)Visible:控件是否可见。,2019/1/29,43,属性设计器,二、对象的常规信息 (1)Enable属性: 表示此控件的使能状态,设置为on”,表示可选,为“off”时则表示不可选。 (2)Style:控件对象类型。 (3)Tag:控件表示(用户定义)。 (4)TooltipString属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。 (5

20、)UserData:用户指定数据。 (6)Position:控件对象的尺寸和位置。 (7)Units:设置控件的位置及大小的单位 (8)有关字体的属性,如 FontAngle, FontName等。,2019/1/29,44,属性设计器,三、控件回调函数的执行 (1)BusyAction:处理回调函数的中断。有两种选项:即Cancel:取消中断事件,queue:排队(默认设置)。 (2)ButtonDownFcn属性:按钮按下时的处理函数。 (3)CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字

21、符串进行求值。 (4)CreateFcn:在对象产生过程中执行的回调函数。 (5)DeleteFcn:删除对象过程中执行的回调函数。 (6)Interruptible属性:指定当前的回调函数在执行时是否允许中断,去执行其他的函数。,2019/1/29,45,属性设计器,四、控件当前状态信息 (1)ListboxTop:在列表框中显示的最顶层的字符串的索引。 (2)Max:最大值。 (3)Min:最小值。 (4)Value:控件的当前值。,2019/1/29,46,6.4.3 对象浏览器(Object Browser),2019/1/29,47,6.4.4 菜单编辑器(Menu Editor),

22、菜单编辑器提供了两种菜单类型的编辑功能: 下拉式菜单(Menu Bar) 弹出式菜单(Context Menu),2019/1/29,48,5. M文件编辑器 通过选择M-File Editor,可以打开相应.fig文件的.m文件源程序。 6. 其它工具 align objects Grids and Rulers The Tab Order Editor,2019/1/29,49,MATLAB图形界面基本控件,界面设计与控件是密不可分的,MATLAB提供了一些基本控件,如静态文本,编辑控件,列表框等。是独立的小部件,也是一个窗口,承担与用户的交互工作。 下面介绍常用的基本控件及其常用属性 G

23、UI程序设计技巧与举例,2019/1/29,50,MATLAB支持的基本控件(Style风格),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)控件,2019/1/29,51,公用对话框文件,文件选择对话框 uigetfile 颜色选择对话框 uisetcolor 字体选择对话框 uisetfont 页面设置对话框 pagedlg 警告与错误信息对话框 warndlg errordlg 简单帮助信息对话框 helpdlg,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


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