我是MATLAB的GUI編程新手,所以我的問題與此有關。Matlab:通過另一個函數調用時從回調函數獲取GUI句柄值
假設我使用GUIDE創建GUI。在創建功能
MyGUI_OpeningFcn(hObject, eventdata, handles, varargin)
我調用另一個函數,
SamplingRate_Callback(handles.SamplingRate, eventdata, handles)
定義爲
function SamplingRate_Callback(hObject, eventdata, handles)
SamplingRate_Callback設置了幾個變量,
handles.a = 1;
handles.b = 2;
handles.c = 3;
的handles
ST在SamplingRate_Callback
函數中正確更新結構。我遇到的問題是,除非我改變功能
function handles = SamplingRate_Callback(hObject, eventdata, handles),
我不能將數據返回給調用函數,MyGUI_OpeningFcn
。我曾嘗試使用guidata(gcf, handles)
和guidata(hObject, handles)
,但都無效。
您能否解釋一下這個問題?
此外,我不確定何時使用guidata(gcf, handles)
與guidata(hObject, handles)
。
感謝您的幫助!
嗨nrz,謝謝你的回答。是的,那會起作用。我想我不明白爲什麼當通過使用它的GUI元素直接調用SamplingRate_Callback時,可以使用guidata簡單地保存持久句柄值,但是如果以另一種方式調用相同的函數,guidata不起作用。那有意義嗎?你知道爲什麼嗎? – user1340654 2012-04-19 05:44:04