MATLAB R2007基础教程 教学课件 ppt 作者 978-7-302-18014-2 ch11

上传人:E**** 文档编号:89347016 上传时间:2019-05-23 格式:PPT 页数:75 大小:983.50KB
返回 下载 相关 举报
MATLAB R2007基础教程 教学课件 ppt 作者 978-7-302-18014-2 ch11_第1页
第1页 / 共75页
MATLAB R2007基础教程 教学课件 ppt 作者 978-7-302-18014-2 ch11_第2页
第2页 / 共75页
MATLAB R2007基础教程 教学课件 ppt 作者 978-7-302-18014-2 ch11_第3页
第3页 / 共75页
MATLAB R2007基础教程 教学课件 ppt 作者 978-7-302-18014-2 ch11_第4页
第4页 / 共75页
MATLAB R2007基础教程 教学课件 ppt 作者 978-7-302-18014-2 ch11_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《MATLAB R2007基础教程 教学课件 ppt 作者 978-7-302-18014-2 ch11》由会员分享,可在线阅读,更多相关《MATLAB R2007基础教程 教学课件 ppt 作者 978-7-302-18014-2 ch11(75页珍藏版)》请在金锄头文库上搜索。

1、2019年5月23日,第1页,第10章 GUI(图形用户接口)设计,MATLAB R2007基础教程 清华大学出版社,教学目标 教学重点 教学内容,2019年5月23日,第2页,教学目标,了解 GUI 的基本控件 掌握通过 GUIDE 创建 GUI 的方法 掌握通过程序创建 GUI 的方法,2019年5月23日,第3页,教学重点,通过 GUIDE 创建 GUI 添加控件 编写响应函数 通过程序创建 GUI 创建界面 添加控件,2019年5月23日,第4页,教学内容,GUI 简介 通过向导创建 GUI 界面 编写 GUI 代码 通过程序创建 GUI,2019年5月23日,第5页,GUI 简介,M

2、ATLAB 中的 GUI 程序为事件驱动的程序。事件包括按下按钮,鼠标单击等。GUI 中的每个控件与用户定义的语句相关。当在界面上执行某项操作时,则开始执行相关的语句。 MATLAB 提供了两种创建图形用户接口的方法:通过 GUI 向导创建的方法和编程创建 GUI 的方法。用户可以通过需要,选择适当的方法创建图形用户接口。通常可以参考下面的建议。 如果创建对话框,可以选择编程创建 GUI 的方法。MATLAB 中提供了一系列标准对话框,可以通过一个函数简单创建对话框。 只包含少量控件的 GUI,可以采用程序方法创建,每个控件可以由一个函数调用实现。 复杂的 GUI 通过向导创建比通过程序创建更

3、简单一些,但是对于大型的 GUI,或者由不同的 GUI 之间相互调用的大型程序,用程序创建更容易一些。,2019年5月23日,第6页,GUI 的可选控件,Push Button:按钮,当按钮按下时则产生操作,如按下 OK 按钮时进行相应操作并关闭对话框。 Toggle Button:开关按钮,该按钮包含两个状态,第一次按下按钮时按钮状态为“开”,再次按下时将其状态改变为“关”。状态为“开”时进行相应的操作。 Radio Button:单选按钮,用于在一组选项中选择一个并且每次只能选择一个。用鼠标点击选项即可选中相应的选项,选择新的选项时原来的选项自动取消。 Check Box:复选框,用于同时

4、选中多个选项。当需要向用户提供多个互相独立的选项时,可以使用复选框。 Edit Text:文本编辑框,用户可以在其中输入或修改文本字符串。程序以文本为输入时使用该工具。 Static Text:静态文本。静态文本控制文本行的显示,用于向用户显示程序使用说明、显示滑动条的相关数据等。用户不能修改静态文本的内容。 Slider:滑动条,通过滑动条的方式指定参数。指定数据的方式可以有拖动滑动条、点击滑动槽的空白处,或者点击按钮。滑动条的位置显示的为指定数据范围的百分比。,2019年5月23日,第7页,List Box:列表框,列表框显示选项列表,用户可以选择一个或多个。 Pop-Up Menu:弹出

5、式菜单,当用户点击箭头时弹出选项列表。 Axes:坐标系,用于在 GUI 中添加图形或图像。 Panel:面板,用于将 GUI 中的控件分组管理和显示。使用面板将相关控件分组显示可以使软件更易于理解。面板可以包含各种控件,包括按钮、坐标系及其他面板等。面板包含标题和边框等用户显示面板的属性和边界。面板中的控件与面板之间的位置为相对位置,当移动面板时,这些控件在面板中的位置不改变。 Button Group:按钮组,按钮组类似于面板,但是按钮组的控件只包括单选按钮或者开关按钮。按钮中的所有控件,其控制代码必须写在按钮组的 SelectionChangeFcn 响应函数中,而不是用户接口控制响应函

6、数中。按钮组会忽略其中控件的原有属性。 ActiveX Component:ActiveX 控件,用于在 GUI 中显示控件,该功能只有在 Windows 操作系统下可用。,2019年5月23日,第8页,创建简单的GUI,本节通过 GUI 向导创建一个简单的 GUI。GUI 向导即 GUIDE,Graphical User Interface development environment,包含了大量创建 GUI 的工具,这些工具简化了创建 GUI 的过程。通过向导创建 GUI 直观、简单,便于出击用户快速开始 GUI 创建。 本节逐步创建一个 GUI,该 GUI 实现三维图形的绘制。预创建界

7、面中应包含一个绘图区域;一个面板,其中包含三个绘图按钮,分别实现表面图、网格图和等值线的绘制;一个弹出菜单,用以选择数据类型,并且用静态文本进行说明。其草图如图所示。,2019年5月23日,第9页,新建 GUI,点击工具栏中的 GUIDE 图标,启动 GUIDE,系统打开界面如图所示。 选择新建 GUI 标签,并选择新建空的 GUI,选中下面的保存选项,输入文件名,得到结果如图所示。 该窗口中包括菜单栏、控制工具栏、GUI 控件面板、GUI 编辑区域等,在 GUI 编辑区域右下脚,可以通过鼠标拖曳的方式改变 GUI 界面的大小。,2019年5月23日,第10页,向界面中添加控件,首先向界面中添

8、加按钮。用鼠标点击 Push Button,并拖曳至 GUI 编辑区,如图。 在该按钮上点击右键,选择 Duplicate,将该按钮复制两次,并移动到合适的位置,得到结果如图。 然后将这三个按钮添加到面板中。在编辑区的右侧添加面板,并将三个按钮移动到面板中,得到结果如图。 下面继续向其中添加静态文本、弹出菜单和绘图区,得到结果如图 。,2019年5月23日,第11页,设置控件属性,点击工具栏中 Property Inspector,打开属性编辑器。设置各个控件的属性,如设置按钮的属性,设置第一个按钮的显示文字为 Surf,标签名为 surf_pushbutton, 如图。 设置其他控件的属性,

9、得到的结果如图。 点击工具栏中的绿色箭头,运行该 GUI,结果如图。,2019年5月23日,第12页,编写响应函数,在创建 GUI 时系统已经为其自动生成了 M 文件,该文件中包含 GUI 中控件对应的响应函数,及系统函数等。 首先编写数据生成函数。 在 GUI 向导中点击 M-file Editor,打开 M 文件编辑器。打开的编辑器中为该 GUI 对应的 M 文件。点击编辑器中的函数查看工具,显示其中包含的函数,选择 GUIPlot_OpeningFcn 函数,如图。,2019年5月23日,第13页,该函数中已有部分内容,现在其中添加数据生成函数。添加后该函数的内容为: % - Execu

10、tes just before GUIPlot is made visible. function GUIPlot_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data

11、(see GUIDATA) % varargin command line arguments to GUIPlot (see VARARGIN) % Create the data to plot. handles.peaks=peaks(35); handles.membrane=membrane; x,y = meshgrid(-8:.5:8);,2019年5月23日,第14页,r = sqrt(x.2+y.2) + eps; sinc = sin(r)./r; handles.sinc = sinc; % Set the current data value. handles.curr

12、ent_data = handles.peaks; contour(handles.current_data) % Choose default command line output for GUIPlot handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes GUIPlot wait for user response (see UIRESUME) % uiwait(handles.figure1); 该函数首先生成三组数据,并设置初始数据为 peaks

13、数据,且初始图形为等值线。修改该函数后再次运行 GUI,得到结果如图 。,2019年5月23日,第15页,继续修改按钮及弹出菜单的响应函数。用户可以通过 M 文件编辑器中的函数查看工具查找相应函数,或者在 GUI 编辑器中右键点击相应控件,选择 View Callbacks 中的 Callback,系统自动打开 M 文件编辑器,并且光标位于相应的函数处,如图。,2019年5月23日,第16页,弹出菜单的响应函数: % - Executes on selection change in data_pop_up. function data_pop_up_Callback(hObject, eve

14、ntdata, handles) % hObject handle to data_pop_up (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Determine the selected data set. str = get(hObject, String); val = get(hObject,Value); % Set current data to t

15、he selected data set. switch strval;,2019年5月23日,第17页,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 % Save the handles structur

16、e. guidata(hObject,handles) % Hints: contents = get(hObject,String) returns data_pop_up contents as cell array % contentsget(hObject,Value) returns selected item from data_pop_up 该函数首先取得弹出菜单的 String 属性和 Value 属性,后通过分支语句选择数据。,2019年5月23日,第18页,三个按钮的响应函数分别为: % - Executes on button press in surfpushbutton. function surfpushbutton_Callback(hObject, eventdata, handles) % hObject handle to surfpushbutton (see GCBO) % eventdata reserved - to

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

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

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