Matlab应用--GUI及句柄.ppt
文本预览下载声明
Matlab应用— 图形用户界面设计 杨颖 信息与电气工程学院 2008-11-21 图形用户界面(GUI) 图形用户界面(Graphical User Interface)是提供人机交互的工具和方法。GUI是用图形对象—GUI控件,如按钮、文本、滑块和菜单组成的用户界面。 图形用户界面 启动GUI 在命令窗口中输入guide(Graphical User Interface Development Environment)命令 空白GUI的布局编辑器 空白GUI-添加控件 已有控件GUI 带有轴对象和菜单的GUI 运行GUI 单击工具栏最右边的绿色按钮 ,即运行当前的GUI窗口 GUI 的.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布局 添加控件 GUI布局 对齐控件 设置GUI控件属性 Figure的name属性 Panel的title属性 按钮、静态文本和弹出菜单的string属性 设置GUI控件属性 GUI编程 控件通过回调实现它的功能。回调是一种函数,当用户单击按钮,选择一个菜单项时就会执行回调 每个控件和菜单项都有相应的属性指定它的回调。创建一个GUI,必须通过回调的编程实现对GUI的操作 控件通常有许多回调属性,但是其中最重要的一个回调属性是Callback属性, Callback属性中的代码实现控件中最主要工作 Tag属性 Tag属性为每个控件提供一个独一无二的标识符(string),GUIDE使用这个标识符为每个控件相应的构建一个回调( 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文件的工具栏上点击 就能打开文件中的所有回调函数,点击相应的回调函数就能将光标移到相应的函数位置 句柄结构管理GUI数据 GUIDE提供了一种句柄结构(handles structure)存储和获取共享数据,句柄结构包含了GUI控件中的所有句柄,通过它传递数据给M文件中的每个回调函数,同时,用户也可以利用句柄结构获得GUI控件中的任意数据 回调函数之间的数据共享 通过句柄结构(handles)存储数据实现回调函数之间的数据共享。GUI中的所有控件都有相同的句柄结构,句柄作为输入参数传递给回调函数 例如: 要将向量X中的数据存储,则需为句柄结构加一个属性域,如handles.my_data,然后将X赋给这个属性域,即 handles.my_data = X 然后调用guidata函数保存这个句柄结构,即 guidata(hObject,handles) 同样,也可以获取这个这个值 X=handles.my_data 打开函数(Opening Function) 打开函数是GUI M文件中的第一个回调函数,打开函数中的代码在GUI可见之前执行。 因此,打开函数通常执行一些用户访问GUI之前的操作,如创建数据或者从外部读取数据 打开函数 产生三种绘图数据 绘制当前显示的图形 按钮回调函数 三个按钮增加相应的绘图代码 弹出菜单回调函数 说明 例子来源matlab help : Creating Graphical User Interfaces: An Animated Demo of Creating a GUI * * 默认空GUI 已有控件GUI 带有轴对象和菜单的GUI 对话框GUI 文件保存路径 % Create the dat
显示全部