How do I pass a value out of a GUI when button is pressed? The value must be available to another m file
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello,
I am making a GUI which adds rows to a matrix in one part. I want the matrix to be available to another m-file when I press another button (export). I've been looking at this for two weeks and can't figure it out. What is the syntax to make this matrix available to another function? eg x = function (y, exported_matrix). The normal [export_matrix] =Callback_pushbutton(....) doesn't work for GUI's. Can someone explain this? Sorry, this is probably basic but I can't see by any examples how this would work with my own GUI.
Thanks,
Brian
0 Kommentare
Akzeptierte Antwort
Brian
am 25 Jun. 2013
1 Kommentar
Image Analyst
am 25 Jun. 2013
You had said "I have tried global, ..., I have been at this for three days, I'm not getting it. " I guess you eventually got it right.
Weitere Antworten (2)
Image Analyst
am 26 Mai 2013
Did you ever stumble upon the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_share_data_between_callback_functions_in_my_GUI.28s.29.3F
7 Kommentare
Jan
am 21 Jun. 2013
Bearbeitet: Jan
am 21 Jun. 2013
Assume your GUI has the tag-property 'MyGUI' (a more meaningful tag is recommended...). Then the store the matrix in the handles struct inside the GUI:
handles.matrix = rand(10, 10); % Or how ever you define the elements
guidata(hObject, handles); % 1st argument: handle of the current object
Now obtain the matrix from your external M-file:
function theExternalFunction
guiHandle = findobj(allchild(0), 'flat', 'tag', 'MyGUI');
guiHandles = guidata(guiHandle);
matrix = guiHandles.matrix;
...
guidata() is a wrapper for setappdata() and getappdata(). Some exceptions should be caught by tests, e.g. if the guiHandle cannot be found because the GUI has been closed before, etc.
2 Kommentare
Siehe auch
Kategorien
Mehr zu Interactive Control and Callbacks finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!