Update the GUI handles structure from inside a callback function

4 visualizzazioni (ultimi 30 giorni)
This seems like such a basic problem that there must be an easy solution to it, but I'm new to Matlab and can't figure it out...
I have a GUIDE gui with an axes and draggable points, and whenever a point is moved I need a callback function to make changes to something in the handles structure. I can add a callback function using addNewPositionCallback(), but then the callback function can't see and make changes to outside variables. Therefore, I can't make changes to handles from inside the callback function.
I thought of passing the handles structure to the callback and returning the updated structure as an output... but the callback function apparently can't have any outputs!
Do I make the handles structure global? I don't think that's a good idea though.
Thanks for any help!

Risposte (1)

Kevin Claytor
Kevin Claytor il 12 Lug 2012
After you make your changes to handles you have to update it with GUIDATA;
function my_Callback(hObject, eventdata, handles)
handles.somethingnew = 5;
% Store the value
guidata(hObject,handles);
  1 Commento
JM
JM il 25 Lug 2012
That's what I would do, but it looks like the callback function can only take one input, the current position of the point. Am I reading this right? http://www.mathworks.com/help/toolbox/images/ref/imroi.html#addnewposcbk

Accedi per commentare.

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by