为了在 GUI 中传递数据,将数据存储在 - 结构中是最方便的handles
。选择版本 1 或版本 2(它们不是相互兼容的)。
function query_browse_Callback(hObject, eventdata, handles)
[filename, pathname] = ...
uigetfile({'*.jpg';'*.png';'*.tif'},'Select Query Image');
queryname=[pathname filename];
%# store queryname, version 1
handles.queryname = queryname;
guidata(hObject,handles);
%# store queryname, version 2
setappdata(handles.YOURGUINAME,'queryname',queryname)
function retrieve_Callback(hObject, eventdata, handles)
%# retrieve queryname, version 1
queryname = handles.queryname;
%# retrieve queryname, version 2
queryname = getappdata(handles.YOURGUINAME,'queryname');
确保在Opening_Fcn
您的 GUI 中初始化存储的信息:
%# version 1
handles.queryname = '';
guidata(hObject,handles);
%# version 2
setappdata(handles.YOURGUINAME,'queryname','');
这样,您可以检查retrieve_callback
是否queryname
为空并告诉用户首先浏览文件名。
然后,如果您想将 queryname 的内容传递给不同的函数,请将其作为输入参数传递:do_demo_2(queryname)
. 确保函数接受输入。