版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-3-7.1第六章句柄图形和用户图形界面设计教学目标介绍MATLAB的句柄图形和GUI开发环境、开发实例学习要求理解用户图形界面程序的构造,掌握编程方法2022-3-7.26.1可视化界面环境可视化界面环境图形用户界面是包含图形对象,如:窗口、图标、菜单、按钮和文本的用户界面。以某种方式选择或激活这些对象,通常引起动作或发生变化。最常见的激活方法是用鼠标或其它点设备去控制屏幕上的鼠标指针的运动。按下鼠标按钮,标志着对象的选择或其它动作。2022-3-7.3进入:进入:新建文件新建文件命令窗口键入命令窗口键入GUIDE5个工具个工具界面编辑面板界面编辑面板对象对齐工具对象对齐工具对象属性
2、编辑器对象属性编辑器对象浏览器对象浏览器菜单编辑器菜单编辑器2022-3-7.42022-3- 设计工作区(The Layout Editor)2022-3- 属性设计器(Properties Inspector )2022-3-7.7属性设计器一、控件风格和外观(1)BackgroundColor:设置控件背景颜色,使用R G B或颜色定义。(2)CData:在控件上显示的真彩色图像,使用矩阵表示。(3)ForegroundColor:文本颜色。(4)String属性:控件上的文本,以及列表框和弹出菜单的选项。(5)Visible:控件是否可见。2022-3-
3、7.8属性设计器二、对象的常规信息(1)Enable属性: 表示此控件的使能状态,设置为on”,表示可选,为“off”时则表示不可选。(2)Style:控件对象类型。(3)Tag:控件表示(用户定义)。(4)TooltipString属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。(5)UserData:用户指定数据。(6)Position:控件对象的尺寸和位置。(7)Units:设置控件的位置及大小的单位(8)有关字体的属性,如 FontAngle, FontName等。2022-3-7.9属性设计器三、控件回调函数的执行(1)BusyAction:处理回调函数的中断。有两种选项
4、:即Cancel:取消中断事件,queue:排队(默认设置)。(2)ButtonDownFcn属性:按钮按下时的处理函数。(3)CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。(4)CreateFcn:在对象产生过程中执行的回调函数。(5)DeleteFcn:删除对象过程中执行的回调函数。(6)Interruptible属性:指定当前的回调函数在执行时是否允许中断,去执行其他的函数。2022-3-7.10属性设计器四、控件当前状态信息(1)ListboxTop:在列表框中显示的最顶
5、层的字符串的索引。(2)Max:最大值。(3)Min:最小值。(4)Value:控件的当前值。2022-3- 对象浏览器(Object Browser)2022-3- 菜单编辑器(Menu Editor)菜单编辑器提供了两种菜单类型的编辑功能:菜单编辑器提供了两种菜单类型的编辑功能:下拉式菜单(Menu Bar) 弹出式菜单(Context Menu)2022-3- M文件编辑器 通过选择M-,可以打开相应.fig文件的.m文件源程序。6.1.6 其它工具 align objects Grids and Rulers The Tab Ord
6、er Editor2022-3-7.14公用对话框文件文件选择对话框 uigetfile颜色选择对话框 uisetcolor字体选择对话框 uisetfont页面设置对话框 pagedlg警告与错误信息对话框 warndlg errordlg简单帮助信息对话框 helpdlg2022-3-7.156.2 MATLAB图形界面基本控件图形界面基本控件界面设计与控件是密不可分的,界面设计与控件是密不可分的,MATLAB提供了一些基本控件,如静态提供了一些基本控件,如静态文本,编辑控件,列表框等。是独立的文本,编辑控件,列表框等。是独立的小部件,也是一个窗口,承担与用户的小部件,也是一个窗口,承担与
7、用户的交互工作。交互工作。下面介绍常用的基本控件下面介绍常用的基本控件2022-3-7.161静态文本(静态文本(Static Text) 2编辑框(编辑框(Edit Text)控件)控件3列表框(列表框(Listbox)控件)控件 4滚动条(滚动条(Slider)控件)控件5按钮(按钮(Push Button)控件)控件 6切换按钮(切换按钮(Toggle Button)控件)控件7单选按钮(单选按钮(Radio Button)控件)控件8方框(方框(Frame)控件)控件9检检取框(取框(Check Box)控件)控件10弹出式菜单(弹出式菜单(Popup Menu)控件)控件11坐标轴(
8、坐标轴(Axes)控件)控件2022-3-7.171静态文本(静态文本(Static Text)用于显示字符串,不接受输入信息,一般显示标题用于显示字符串,不接受输入信息,一般显示标题2编辑框(编辑框(Edit Text)控件)控件最常用的控件,可用于单行和多行文本的输入,功最常用的控件,可用于单行和多行文本的输入,功能强大。能强大。3列表框(列表框(Listbox)控件)控件显示一个文字列表,用户可以选择其中一项和多项。显示一个文字列表,用户可以选择其中一项和多项。以一行的形式显示。以一行的形式显示。4滚动条(滚动条(Slider)控件)控件 2022-3-7.185按钮(按钮(Push B
9、utton)控件)控件最常用的控件,用于响应用户的鼠标按键操作。最常用的控件,用于响应用户的鼠标按键操作。6. 切换按钮(切换按钮(Toggle Button)控件)控件切换按钮有两个状态,压下和弹起。切换按钮有两个状态,压下和弹起。7. 单选按钮(单选按钮(Radio Button)控件)控件多个选项,使用时只选择一个。多个选项,使用时只选择一个。8. 检检取框(取框(Check Box)控件)控件多个选项,使用时一次可多选。多个选项,使用时一次可多选。9. 弹出式菜单(弹出式菜单(Popup Menu)控件)控件2022-3-7.196.3 句柄图形MATLAB提供了一组用于创建及操作提供
10、了一组用于创建及操作线、面、文字和像等基本图形对象的低线、面、文字和像等基本图形对象的低级函数,这组命令可以对各图形对象进级函数,这组命令可以对各图形对象进行更为细致的修饰和控制,低级函数不行更为细致的修饰和控制,低级函数不仅可以产生更为复杂的图形,而且为动仅可以产生更为复杂的图形,而且为动态图形提供了基础。这个系统称为句柄态图形提供了基础。这个系统称为句柄图形系统。图形系统。2022-3-7.20高层绘图函数是对整个图形进行操作的,图形每一部分的属性都是按缺省方式设置的。充分体现了MATLAB语言的实用性。在高层绘图中对图形对象的描述一般是缺省的或由高层绘图函数自动设置的,因此对用户来说几乎
11、是不透明的。底层绘图函数可以定制图形,对图形的每一部分进行控制,用户可以用来开发用户界面以及各专业的专用图形。充分体现了MATLAB语言的开发性2022-3-句柄图形的层次关系句柄图形的层次关系根对象根对象Root screen图形窗口对象图形窗口对象figures坐标轴坐标轴Axes界面控件界面控件菜单菜单右键菜单右键菜单文字文字线对象线对象表面图表面图图像图像光源光源三维块三维块矩形块矩形块右键菜单右键菜单2022-3-7.22句柄图形:利用底层绘图函数,通过对对象属性的设置(Handle Graphics)与操作实现绘图。句柄图形中所有图形操作都是针对图形对象而言的。句
12、柄图形充分体现了面向对象的程序设计。2022-3-7.23句柄图形的特点v句柄图形可以随意改变MATLAB生成图形的方式。v句柄图形允许你定制图形的许多特性,无论是对图形做一点小改动,还是影响所有图形输出的整体改动。v句柄图形的特性高层绘图函数是无法实现的2022-3-7.24创建图形对象的底层函数figure创建图形窗口调用格式: h=figure(n) n为窗口序号uicontrol图形界面控制调用格式: h=uicontrol(property,value)property/value确定控制类型2022-3-7.25uimenu创建用户界面菜单调用格式: h=uimenu(proper
13、ty,value)property/value 确定菜单形式。axes 创建轴对象 h=axes(property, ) 定义轴对象的位置与大小 left, bottom width,height2022-3-7.26line 创建线对象 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颜色矩阵。 二维画线 三维画线2022-3-7.27image 显示图象 h=image(x); x为图像矩阵text 标注文字 h=text(x
14、,y,string) 每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中。但句柄绘图中上述图形对象都是用户需要经常使用的,所以要作到心中有数,用句柄设置图形对象的属性。确定标注位置标注字符串2022-3-7.286.3.2 图形窗口对象的属性所有图形窗口都有决定其如何表现的属性,一类是共性:包括类型、可视、剪辑及中断允许等。另一类是特性:针对某一对象独有的如定义“面”的数据,“轴”的刻度等。属性可以在界面编辑面板的ToolsProperty Inspector菜单项设置。图形窗口对象本身是一个窗口,具有一般窗口对象的共同属性。其常用属性如下:Color、MenuBar、Name、N
15、umberTitle、Unites、Position、Resize。2022-3-7.291.Color属性图形背景颜色。RGB: 0 0 0黑色,1 1 1白色2.MenuBar属性是否在图形窗口的顶部显示图形菜单栏。None缺省设置3.Name属性窗口标题4.NumberTitle属性在图形窗口中是否加上图形编号。5.Units属性像素Pixels、英寸inches、厘米Centimeters6.Position属性设置图形显示的大小的位置。2022-3-7.307.Resize属性能否改变窗口的大小。8.各种回调函数Callback:在对象被选中时执行的回调函数;ButtonDownFc
16、n:按下界面上按钮所执行的函数;KeyPressFcn:在键盘按下时执行的函数;WindowButtonDownFcn:在图形是窗口中移动鼠标时调用的函数。2022-3-7.316.3.3句柄与句柄获取什么是句柄? 句柄(handle)是图形对象的标识代码,标识代码含有图形对象的各种必要的属性信息。各图形对象的句柄数据格式: 根屏幕 0 图形窗口 整数,表示图形窗口数 其它对象 对应的符点数2022-3-7.32所有能创建图形对象的MATLAB函数都可给出所创建图形对象的句柄例:创建1号窗口,返回句柄 h=figure(1) h=1 返回值为窗口号数例:h=line(1:6,1:6)创建线对象
17、的同时也建立了一个唯一的句柄 变量h是句柄值浮点数2022-3-7.33图形对象属性的获得与设置要设置图形对象属性值,首先要知道该对象的句柄,基本方法有以下几种。从图形创建指令获取追溯法获取句柄当前对象句柄的获取根据对象特性获取句柄根据对象”浑名“(tag)获取2022-3-7.341.从图形创建 句柄所有高层或底层指令都能从图形创建时获取句柄。H_gc=graphic Ccommand2. 追溯法获取句柄若一个对象的句柄为H_know,那么可用如下格式获取其父或其子对象句柄H_pa=get(H_know,parent) H_ch=get(H_know,children)3.当前对象句柄的获取
18、Gcf:当前窗口对象的句柄 Gca:当前轴对象的句柄Geo:获取“被鼠标最近点击”的图形对象句柄2022-3-7.354.根据对象特性获取句柄利用对象特性搜索对象句柄可以得到较高的搜索速度H=findobj(H_ori,”PN”,”PV”)在H_ori制定对象上,寻找与属性对(”PN”,”PV”)匹配的对象句柄5.根据“浑名”(tag)获取可以通过“tag”属性,给对象一个“浑名”,然后可以通过“浑名”获取该对象的句柄设置“浑名”的两个方法创建时赋名:plot (x,y,“Tag”,A4)用set完成:h=plot(x,y) set(h,“Tag”,A4)2022-3-7.36操作格式:h=g
19、cf 将当前窗口对象的句柄返回hget(h)或get(gcf) 查阅当前窗口对象的属性delete(gcf) 删除当前窗口的属性例:h=line(x,y)get(h)2022-3-7.37例:创建一个线对象并返回线对象的句柄值 h1=line(0:10,0:10)h1 = 57.0001h1为句柄的代码值0123456789100123456789102022-3-7.38查阅线对象的属性名称和属性值get(h1)Color = 1 1 0EraseMode = normalLineStyle = -LineWidth = 0.5MarkerSize = 6Xdata = (1 by 11)
20、Ydata = (1 by 11) Zdata = 2022-3-7.39 ButtonDownFcn = Children = Clipping = onInterruptible = noParent = 56.0001Type = lineUserData = Visible = on根据轴是线对象的父代,可查轴的句柄 get(gca)2022-3-7.40可查色序get(gca,colororder)ans = 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 0 0 12022-3-7.41set: 改变图形对象的属性设置线条和窗口的颜色set(h1,color,1 0 0
21、)set(h1,color,1 0.5 0)024681001234567891002468100123456789102022-3-7.42set(gcf,color,0.5 0.5 0.5)set(gcf,color,0.5 0.6 0.8)0123456789100123456789100123456789100123456789102022-3-7.43例:作正弦、余弦曲线,将正弦曲线改为虚线,将余弦曲线幅度减为1/2高度,如何用句柄实现。x=0:2*pi/180:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2,x,zeros(size(x) ),w:)
22、01234567-1-0.8-0.6-0.4-0.60.812022-3-7.44首先查询各对象的属性get(gcf) h=get(gcf,children)h = 60.0004hh=get(gca,children)hh = 70.0004 69.0004 68.00042022-3-7.4501234567-1-0.8-0.6-0.4-0.60.81y11=get(hh(2),ydata);y22=y11/2;set(hh(2),ydata,y22)set(hh(3),linestyle,:)2022-3-7.466.4 对象的属性操作 控制一个图形对象是通过句柄实现的,具体是通过句柄操作函数get,set将某对象句柄属性作设置与修改。对象属性的直接操作 对象属性的直接操作是通过当前句柄来实现的,所以首先要获得当前句柄值以及对象的属性,然后再查询或修改。2022-3-7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中职第二学年(英语基础)日常用语综合测试试题及答案
- 2025年中职(大数据与会计)会计电算化实操试题及答案
- 2025年中职第一学年(畜牧兽医)畜禽常见病防治试题及答案
- 2025年大学制药工程(制药设备管理)试题及答案
- 2025年中职工程运营管理(管理技术)试题及答案
- 2025年高职工艺美术品设计(工艺品设计)试题及答案
- 2025年高职烹饪工艺与营养(烹饪安全管理)试题及答案
- 2025年中职电力系统自动化技术(电力系统操作)试题及答案
- 2025年大学医学技术(医学影像技术)试题及答案
- 2025年高职(会计)税务会计实务试题及答案
- 施工现场火灾事故预防及应急措施
- 污水处理站施工安全管理方案
- 2025年苏州市事业单位招聘考试教师招聘体育学科专业知识试卷
- 加油站投诉处理培训课件
- 学堂在线 雨课堂 学堂云 唐宋词鉴赏 期末考试答案
- 2025至2030中国辐射监测仪表市场投资效益与企业经营发展分析报告
- 工程力学(本)2024国开机考答案
- 产品认证标志管理制度
- CJ/T 192-2017内衬不锈钢复合钢管
- GB/T 31907-2025服装测量方法
- 消毒供应中心清洗流程
评论
0/150
提交评论