question about the function of callback
Mostrar comentarios más antiguos
hello, I have a question about the writing the function of callback. # how to callback a group of function? For exemple, We use 'callback' like this way: 'callback', @pushbutton_callback. Here pushbutton_callback is a function. In my interface there is many same functions repeated, Can I realize to write the function of callback like @pushbutton_callback(k), and there is the function of callback related. I know writing directly like pushbutton_callback(k) is not correct. I didn't find something similar. What should I do?
Respuesta aceptada
Más respuestas (2)
Paulo Silva
el 17 de Mayo de 2011
If you have several pushbuttons each one with his own function, try this:
hb = uicontrol('Style','pushbutton',...
'String','PushMe');
set(hb,'Callback',sprintf('pushbutton%d_callback',k))
%for button1
%pushbutton1_callback
This also might work (not tested)
hb = uicontrol('Style','pushbutton',...
'String','PushMe');
set(hb,'Callback',sprintf('@pushbutton%d_callback',k))
%for button1
%pushbutton1_callback
Yoav Livneh
el 17 de Mayo de 2011
Another option is to do this:
push_button(k) = uicontrol('style','pushbutton',...
'callback',{@pushbutton_callback_main,k});
and the callback function:
function pushbutton_callback_main(obj,event,idx)
% Run pushbutton_callback number idx
eval(['pushbutton_callback' idx]);
end
There's probably a way to do this without eval but can't think of one right now
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!