Get index of selected button in button toggle group

20 visualizzazioni (ultimi 30 giorni)
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?

Risposte (2)

Matt J
Matt J il 10 Nov 2017
Modificato: Matt J il 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 il 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

Categorie

Scopri di più su Search Path in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by