How do I get variables from callback functions in MATLAB

1 Ansicht (letzte 30 Tage)
noga cohen
noga cohen am 14 Feb. 2011
I programmed a pushbutton that I want to call to @GetValue function.
The GetValue function creates 2 variables (PupilColumn,BehavColumn). I don't know how to take these variables out from the @GetValue function in order to use them later. How should I program it correctly?
[PupilColumn,BehavColumn]=CreatePush(Figure_h,ColumnPupil_h,ColumnBehav_h)
function CreatePush(Figure_h,ColumnPupil_h,ColumnBehav_h)
PushButton_h = uicontrol(Figure_h, 'Style', 'push', 'String', 'Next', ...
'Position', [600 20 120 50], ...
'CallBack',{@GetValue,ColumnPupil_h,ColumnBehav_h}, ...
'UserData',0);
end
function [PupilColumn,BehavColumn] = GetValue(PushButton_h,ed,ColumnPupil_h,ColumnBehav_h)

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 14 Feb. 2011
Daniel is correct that callbacks cannot return anything. See the FAQ on this topic for various methods.

Weitere Antworten (1)

Daniel Shub
Daniel Shub am 14 Feb. 2011
I do not think that callback functions can return anything. The variables PupilColumn and BehavColumn can be added to the application data (setappdata) of either PushButton_h or Figure_h.
setappdata(Figure_h, 'PupilColumn', PupilColumn);
Then when you want to use PupilColumn
PupilColumn = getappdata(Figure_h, 'PupilColumn');
This requires you to know Figure_h in order to get PupilColumn.

Community Treasure Hunt

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

Start Hunting!

Translated by