Matlab图形用户界面(GUI)制作.ppt
文本预览下载声明
* (1)与句柄结构共享数据 当运行GUI时,M文件创建一个包含所有GUI对象(如控件、菜单和坐标轴)的句柄结构,句柄结构作为一个每个响应的输入来处理。用户使用句柄结构可以实现如下操作。 在各响应之间实现数据共享; 访问GUI数据。 * 在各响应之间实现数据共享 用户欲取得变量X的数据,可以先将句柄结构的一个域设为X,然后在使用guidata函数保存该句柄结构,如下所示: handles.current_data = X; guidata(hObject,handles) 用户可以在其他任何响应中重新得到该变量的值,使用的操作如下。 X = handles.current_data; * (2) M文件中的函数和响应 用户可以给GUI的M文件的如下部分增加程序代码: 打开函数(Opening function),该函数在GUI可见之前实施操作。 输出函数(Output function),在必要的时候向命令行输出数据。 响应(Callbacks),在用户激活GUI中的相应控件时实施操作。 * 打开函数 打开函数包含有在GUI可见之前进行操作的代码,用户可以在打开函数中访问GUI的所有控件,因为所有DUI中的对象都在调用打开函数之前就已经创建。 如果用户需要在访问GUI之前实现某些操作(如创建数据或图形),那么可以通过在打开函数中增添代码来加以实现。 对于一个文件名为my_gui的GUI来说,它的打开函数的定义语句如下。 function my_gui_OpeningFcn(hObject, eventdata, handles, varargin) * 输出函数 输出函数将输出结果返回给命令行。 在用户需要将某个变量传递给另一个GUI时尤其实用。 UIDE在输出函数中生成如下代码。 % --- Outputs from this function are returned to the command line. function varargout = my_gui_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure varargout{1} = handles.output; * (3)控件的使用 “开关”按钮(Toggle Button) 按钮(Radio Buttons) “复选框”控件(Check Boxes) “文本框”控件(Edit Text) “滚动条”控件(Sliders) “列表框”控件(List Boxes) “弹出菜单”控件(Pop-Up Menus) 控件板(Panels) * 控件的使用举例1 按钮(Radio Buttons)的响应 在图形界面中添加该控件之后,该控件将在指定位置添加按钮,按钮的标识字符由属性String控制,而返回值由Value值控制。 在GUI的M文件中使用如下形式的代码来编制Radio按钮的响应程序: if (get(hObject,Value) == get(hObject,Max)) % then rsdio button is selected-take approriate action else % radio button is not selected-take approriate action end * 控件的使用举例2 “复选框”控件(Check Boxes)的响应 在图形界面中添加该控件之后,该控件将提供复选功能,将显示文本字符串及选择框 。 在GUI的M文件中使用如下形式的代码来编制“复选框”控件的响应程序 : function checkbox1_Callback(hObject, eventdata, handles) if (get(hObject,Value) == get(hObject,Max)) % then checkbox is checked-take approriate action else % checkbox is not checked-take approriate action end * 控件的使用举例3 “文本框”控件(Edit Text)的响应 在图形界面中添加该控件之后,该控件的属性相当于其他语言设计中的文本框属性,允许用户动态地编辑或是输入文本字符串。 如果需要获取用户在文本框中输入的字符串,可以在响应程序中输入如下代码: function edittext1_Callback(hObject, eventdata, handles) user_string = get(hObject,string); % pr
显示全部