GUI - How to differentiate the handles of the overall GUI vs. Callback function of each component?
Show older comments
That is to say, every time when we create a MATLAB GUI, there will be a 'handles' in its opening function:
GUI_name_OpeningFcn(hObject, eventdata, handles, varagin)
I declared some global variables in the handles here. However, when we add some extra components to this GUI, for each Callback functions, there will be a local handles like:
function Button_Callback(hObject, eventdata, handles)
So my questions is, what if I want to use the global handles properties in the local Callback function? How do I differentiate two types of handles (i.e., global vs. local)?
Answers (2)
Daniel Shub
on 21 May 2011
0 votes
It is probably worth checking out the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_share_data_between_callback_functions_in_my_GUI.3F
Matt Fig
on 21 May 2011
0 votes
Don't name your global variable the same name as any local variable where it will be used. This is one of the problems with using global variables, and part of the reason their use is not recommended in general...
I.E., name your global variable something like: handle_global
2 Comments
YIMING
on 22 May 2011
Matt Fig
on 22 May 2011
Hello YIMING,
If you declared a global variable named handles like this:
global handles
then there exists a global variable named handles which is different than one that gets passed in to a function. I hope you are not mixing up terminology by calling the variable global...
Categories
Find more on Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!