1

文字列であり、イメージのフル パスに似ている queryname を別のファイル do_demo_2 に渡したいと考えています。

function query_browse_Callback(hObject, eventdata, handles)
[filename, pathname] = ...
uigetfile({'*.jpg';'*.png';'*.tif'},'Select Query Image');
queryname=[pathname filename];

function retrieve_Callback(hObject, eventdata, handles)
do_demo_2;

これをどのように変更すればよいですか? do_demo_2 ファイルの最初の行は何ですか??

4

1 に答える 1

1

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');

GUI で、保存されている情報を初期化してOpening_Fcnください。

%# version 1
handles.queryname = '';
guidata(hObject,handles);

%# version 2
setappdata(handles.YOURGUINAME,'queryname','');

このようにして、が空retrieve_callbackかどうかをチェックインしqueryname、最初にファイル名を参照するようにユーザーに指示できます。

その後、 queryname の内容を別の関数に渡したい場合は、それを入力引数として渡します: do_demo_2(queryname). 関数が入力を受け入れることを確認してください。

于 2013-03-16T11:54:50.703 に答える