Get index of selected button in button toggle group

26 views (last 30 days)
When using a ButtonGroup in AppDesigner it is not clear how to get the index of the selected button. The only available approach appears to be:
string_values = {h.Buttons.Text};
I = find(strcmp(h.SelectedObject.Text,string_values));
Is there anything more direct?

Answers (2)

Matt J
Matt J on 10 Nov 2017
Edited: Matt J on 10 Nov 2017
I don't think so, but I don't immediately see why you would want to assign numeric indices to the different buttons. Processing the selection would normally be done index-free using a switch...case
switch h.SelectedObject.Text
case 'Button #1'
case 'Button #2'
end
If you want to associate selections with numeric values, a slider or spinner would be a more appropriate component.

Joshua Brownlow
Joshua Brownlow on 1 Apr 2019
I still don't think this is the best way, but you can cycle through the buttons in the group with a for loop to check which index has a value of 1 for being pressed down
for i = 1:buttonGroupSize
app.ButtonGroup.Buttons(i).Value
end

Categories

Find more on Simulink Environment Customization 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!

Translated by