1、从子GUI界面获取输入数据
思路:
在子GUI中应用setappdata, getappdata 传递数据,通过 varargout 将子GUI的参数传递给主GUI。
- 在子GUI的pushbutton_callback 中:获取手动输入的数据(使用get, str2num等函数),将获取的数据存储在结构体变量中,代码示例:
input_data.a = str2num(get(handles.edit1,'String'));
input_data.b = str2num(get(handles.edit2,'String'));
setappdata(handles.figure1,'settings',input_data)
uiresume(handles.figure1);
- 在子GUI的OpeningFcn中:将uiwait启用
uiwait(handles.figure1);
- 在子GUI的OutputFcn中:加入以下代码,返回参数(注意,要把原有的varargout{1} = handles.output屏蔽掉):
var_output = getappdata(handles.figure1,'settings'); % 返回的参数数据为结构体
varargout{1} = var_output; % 子GUI将要返回的参数
- 在主GUI中的pushbutton_callback 中:
var_received = subGUI; % subGUI 为子GUI的文件名,获取子GUI的输入参数
set(handles.text1,'String',var_received.a ); % 结构数组的变量名包含 a,b
set(handles.text2,'String',var_received.b ); % 结构数组的变量名包含 a,b