Matlab应用--GUI及句柄.ppt_第1页
Matlab应用--GUI及句柄.ppt_第2页
Matlab应用--GUI及句柄.ppt_第3页
Matlab应用--GUI及句柄.ppt_第4页
Matlab应用--GUI及句柄.ppt_第5页
免费预览已结束,剩余24页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab应用 图形用户界面设计,杨颖 信息与电气工程学院 2008-11-21,图形用户界面(GUI),图形用户界面(Graphical User Interface)是提供人机交互的工具和方法。GUI是用图形对象GUI控件,如按钮、文本、滑块和菜单组成的用户界面。,图形用户界面,启动GUI,在命令窗口中输入guide(Graphical User Interface Development Environment)命令,文件保存路径,空白GUI的布局编辑器,空白GUI-添加控件,已有控件GUI,带有轴对象和菜单的GUI,运行GUI,单击工具栏最右边的绿色按钮 ,即运行当前的GUI窗口,G

2、UI 的.FIG文件 and .M文件,当第一次运行GUI时,GUIDE将GUI存储为两个文件: Fig文件(扩展名为.fig):包含了GUI的布局信息和GUI中的各控件,如按钮、菜单等 M文件(扩展名为.m):包含了控制GUI的代码,包括每个控件的回调函数 再次启动,需要编辑M文件时,点击布局编辑器上的,GUI M文件,创建GUI步骤,设计GUI 在使用GUIDE之前设计GUI形式 GUI布局 使用布局编辑器对控件布局 设置GUI控件属性 对每一个控件设置其属性 GUI编程 使用M文件编辑器编写GUI程序 保存和运行GUI,设计GUI,GUI布局,调整Figure大小,GUI布局,添加控件,

3、GUI布局,对齐控件,设置GUI控件属性,Figure的name属性 Panel的title属性 按钮、静态文本和弹出菜单的string属性,设置GUI控件属性,GUI编程,控件通过回调实现它的功能。回调是一种函数,当用户单击按钮,选择一个菜单项时就会执行回调 每个控件和菜单项都有相应的属性指定它的回调。创建一个GUI,必须通过回调的编程实现对GUI的操作 控件通常有许多回调属性,但是其中最重要的一个回调属性是Callback属性, Callback属性中的代码实现控件中最主要工作,Tag属性,Tag属性为每个控件提供一个独一无二的标识符(string),GUIDE使用这个标识符为每个控件相应

4、的构建一个回调( string_Callback),GUI 的M文件,首次打开GUI的M文件时,M文件中包含控件的大多数常用回调,一个打开函数回调,一个输出函数回调,每个回调包括一些初始化的代码。必须在这些回调中加入代码才能实现各控件的功能 打开函数回调 function gui_example_OpeningFcn(hObject, eventdata, handles, varargin) 输出函数回调 function varargout = gui_example_OutputFcn(hObject, eventdata, handles),M文件中的回调函数,在M文件的工具栏上点击

5、就能打开文件中的所有回调函数,点击相应的回调函数就能将光标移到相应的函数位置,句柄结构管理GUI数据,GUIDE提供了一种句柄结构(handles structure)存储和获取共享数据,句柄结构包含了GUI控件中的所有句柄,通过它传递数据给M文件中的每个回调函数,同时,用户也可以利用句柄结构获得GUI控件中的任意数据,回调函数之间的数据共享,通过句柄结构(handles)存储数据实现回调函数之间的数据共享。GUI中的所有控件都有相同的句柄结构,句柄作为输入参数传递给回调函数 例如: 要将向量X中的数据存储,则需为句柄结构加一个属性域,如handles.my_data,然后将X赋给这个属性域,

6、即 handles.my_data = X 然后调用guidata函数保存这个句柄结构,即 guidata(hObject,handles) 同样,也可以获取这个这个值 X=handles.my_data,打开函数(Opening Function),打开函数是GUI M文件中的第一个回调函数,打开函数中的代码在GUI可见之前执行。 因此,打开函数通常执行一些用户访问GUI之前的操作,如创建数据或者从外部读取数据,打开函数,产生三种绘图数据 绘制当前显示的图形,按钮回调函数,三个按钮增加相应的绘图代码,% Display surf plot of the currently selected

7、data surf(handles.current_data) % Display mesh plot of the currently selected data mesh(handles.current_data); % Display contour plot of the currently selected data contour(handles.current_data);,弹出菜单回调函数,val = get(hObject, Value); str = get(hObject, String); switch strval; case peaks % User selects peaks handles.current_data = handles.peaks; case membrane % User selects membrane handles.current_data = handles.membrane; case sinc % User selects sinc handles.current_data = handles.sinc; end guidata(hObject,handles),返回选中的对象在对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论