Matlab GUI的数据传递——运用GUI本身的varargin和varargout传递参数
1.GUI数据传递指的是GUI各控件之间以及不用的GUI之间,这种方式只适用于GUI与GUI之间的数据传递。
2.关于varargin与varargout的概念
varargin是存储输入参数的可变长cell型数组;
varargout是存储输出参数的可变长cell型数组。
是matlab的输入输出参数数目可变的一种编程模式。
3.通常当我们使用varargin与varargout进行gui间数据传递的时候,利用guidata读取varargin和varargout数据并保存的,即
1.输入参数的设置
%例如当我们需要进行主子结构的GUI数据传递的时候,假设GUI和其子GUI之间进行数据传递。
%其中GUI是主GUI,subGUI是子GUI,其中设想输入输出的参数为
[out1,out2]=subGUI(in1,in2)
%通常在使用GUI设计subGUI时,在其本身m文件中第一行是这种形式
function varargout=subGUI(varargin)
%该行不用做任何修改。之后利用guidata进行数据保存
handles.in1=varargin{1};
handles.in2=varargin{2};
guidata(hObject,handles);
2.输出参数的设置
%在主GUI的Openingfun函数中添加如下代码
[out1 out2]=subGUI(in1,in2)%用于调用子GUI
uiwait(handles.figure1);&figure1是subGUI的tag,为了等待调用子gui的过程,从而获得子gui的输出参数out1和out2.
4.一些说明