GUIDE Callbacks using function handles or strings
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I'm a quite experienced GUI programmer and usually program GUIs manually without using GUIDE. However, now I struggle with a GUI which was developped by someone else using GUIDE.
I would like to define a callback function for a GUI element of the GUIDE GUI mygui.m/mygui.fig without using the standard GUIDE callback which is defined in mygui.m. Currently, the callback function defined in mygui.m just calls another function which is saved in a seperate file cb.m because it is quite long. To improve maintenance of the software, I would find it much clearer if I could directly define the callback function to be cb.m whithout having to go via a subfunction of mygui.m.
It tried to change the callback property in GUIDE like
cb(hObject,eventdata)
@(hObject,eventdata) cb(hObject,eventdata)
but I could not get it running. Now I wonder if it is at all possible to avoid the "normal" GUIDE callback in mygui.m? If there is another possibiliy - how to do it?
I'm using MATLAB R2010b.
0 commentaires
Réponse acceptée
Plus de réponses (1)
Akiva Gordon
le 15 Nov 2012
In the GUI's OpeningFcn, you can try:
set(handles.object,'Callback',@cb)
and just replace "object" with the actual tag of that object for which you want the callback to be cb.
If cb has some input arguments, be sure to wrap the 'Callback' value in curly braces like this:
set(handles.object,'Callback',{@cb,input1,input2,...})
Voir également
Catégories
En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!