MATLAB : access to the callback function of checkbox

4 次查看(过去 30 天)
Hello, I have some checkbox and a push button to select all of them.
Code of my button "Select all" :
for i = 1:5
set(sprintf('handles.check%d',i),'value', 1)
end
But, I would like to go to the checkbox callback function each time I select one of them. How can I do this ? Because for the moment, all my check box are selected when I push the button "Select all" but the code into each checkbxo is not executed. My code in a checkbox is :
function check1_Callback(hObject, eventdata, handles)
if(get(hObject ,'Value') == 1)
ind=1;
assignin('base','ind',ind);
end
end

采纳的回答

Adam
Adam 2015-3-19
编辑:Adam 2015-3-19
Factor out your checkbox callbacks to something like this:
function checkBoxCallback( hCheckbox, ind )
if ( logical( get( hCheckbox, 'Value' ) )
assignin('base','ind',ind);
end
then an individual callback would just be e.g.
function check1_Callback(hObject, eventdata, handles)
checkBoxCallback( hObject, 1 );
and in the for loop you put at the top of your question just add in a call to this new factored out function as e.g.
for i = 1:5
set(sprintf('handles.check%d',i),'value', 1)
checkBoxCallback( handles.( sprintf( 'check%d', i ) ), i );
end
I may have made a few syntax errors there as I am typing straight into here without testing in Matlab first, but hopefully you get the idea even if the syntax is not exact.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by