此文仅作为MATLAB学习笔记使用
function varargout = UVEncryptor(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @UVEncryptor_OpeningFcn, ...
'gui_OutputFcn', @UVEncryptor_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
以上为初始化figure,其中:
function varargout = UVEncryptor(varargin)
用了可变的输入参数 varargin, varargin允许调用个函数时采用不定项个输入参数。varargin{1}得到的是第一个输入参数,关于varargin的用法可以参考这个链接:MATLAB中的nargin与varargin的用法 - 殷大侠 - 博客园
gui_Singleton = 1;保证只能运行该GUI程序的一个实例,即只能打开一个窗口
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
这段代码表示如果输入的第一个参数是字符串,则gui_State.gui_Callback = str2func(varargin{1});分别取得 figure 和包含的控件的 CreateFcn 回调函数,创建各个控件
控件创建完毕之后,用OpeningFcn用来初始化各个控件的数值,然后运行OutputFcn,把figure的句柄作为输出参数输出。这时,GUI界面便在屏幕上显示出来。