About passing the parameter
信息
此问题已关闭。 请重新打开它进行编辑或回答。
显示 更早的评论
Hi, I would appreciate if someone answer me this question.
I am developing the GUI which calls one function called fun1.
Fun1 will get one of the value from uicontrol, say variable a.
But I have a another function called fun2.
I tried to use a in fun2 but I got the error, structure is like this
Func_main()
Uicontrol(...,callback,"fun1") Fun1() a = get.value End
Fun2() Disp(a); End
End
How can I pass the parameter from one function to another?
Sorry for so naive question but thanks for your help
0 个评论
回答(1 个)
You can store the value in the "handles" struct:
function Main
hFigure = figure;
uicontrol(..., 'Callback', @Callback1);
uicontrol(..., 'Callback', @Callback2);
handles.a = []; % Default value
guidata(hFigure, handles); % Store handles struct in the figure
end
function Callback1(hObject, EventData)
handles = guidata(hObject); % Get struct from figure
handles.a = get_value() % Insert value
guidata(hObject, handles); % Put struct back to figure
end
function Callback2(hObject, EventData)
handles = guidata(hObject); % Get struct from figure
disp(handles.a)
end
This is a frequently asked question, I esitmate 2 times per day. Search in the forum for "share data between callbacks".
2 个评论
Joseph Cheng
2017-4-5
Ah... I always forget that this works outside of GUIDE. (deleted my submission).
k38
2017-4-5
此问题已关闭。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!