我是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