由GUIDE生成的M文件,控制GUI并决定GUI对用户操作的响应。它包含了运行GUI的所有代码。用户建立GUI时,系统自动建立了其M文件的基本框架,用户在该框架下编写GUI控件的回调函数。
GUI的M文件由一系列的子函数组成,包括主函数MainFcn、Opening函数、Output函数和各个回调函数CallBack。其中主函数不能修改,否则导致GUI界面初始化失败。
M文件的主函数代码:如文件名为plotcmaes
function varargout = plotcmaes(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn',@plotsfso_OpeningFcn, ...
'gui_OutputFcn', @plotsfso_OutputFcn, ... 'gui_LayoutFcn', [], ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
说明:
程序第1行为主函数声明。plotcmaes为函数名,varargin为输入参数,varargout为输出参数。当创建GUI时,varargin为空。当触发GUI控件对象时,varargin为一个1*4的单元数组。第1个单元存放空间的回调函数名,第2~4单元存放该回调函数的输入参数,分别为hObject:当前回调函数对应的GUI对象句柄,eventdata:附加参数,handles:当前GUI所有数据的结构体。
程序第2行指定是否只能产生一个界面。gui_Singleton = 1表示只能产生一个窗口实例,gui_Singleton = 0表示可以产生多个窗口实例。
程序第3~8行为一个结构体。
程序第9~11判断是创建GUI还是执行回调函数。
程序第12~16为运行GUI默认的处理函数。
转自:http://blog.sina.com.cn/s/blog_5f7f49ff0101oc9f.html