How do I get variables from callback functions in MATLAB
6 views (last 30 days)
Show older comments
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)
0 Comments
Accepted Answer
Walter Roberson
on 14 Feb 2011
Daniel is correct that callbacks cannot return anything. See the FAQ on this topic for various methods.
More Answers (1)
Daniel Shub
on 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.
0 Comments
See Also
Categories
Find more on Interactive Control and Callbacks 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!