MATLAB Answers

0

Get index of selected button in button toggle group

Asked by Jim Hokanson on 10 Nov 2017
Latest activity Answered by Joshua Brownlow on 1 Apr 2019
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?

  0 Comments

Sign in to comment.

2 Answers

Answer by Matt J
on 10 Nov 2017
Edited by 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.

  0 Comments

Sign in to comment.


Answer by 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

  0 Comments

Sign in to comment.