How to create a callback for radio buttons

I have a group of radio buttons with 3 choices (app.mode1, app.mode2, and app.mode3) in app-designer. When a user clicks one of the radio buttons, I want the name of a separate button to be changed to something else. For example: mode 1: "load", mode 2: "plot", mode 3: "display". I'm able to create a call back for the group of radio buttons as below:
function modeSelectionChanged(app, event)
selectedButton = app.mode.SelectedObject;
end
end
But I have no idea as to how to write the following codes. Would someone please help me out?
Many thanks!

 Respuesta aceptada

Cris LaPierre
Cris LaPierre el 16 de Mzo. de 2021
Editada: Cris LaPierre el 16 de Mzo. de 2021
Assuming your button has the name app.Button, and your radio buttons are labeled 'Mode1', 'Mode2', and 'Mode3', something like this
% Selection changed function: Mode
function ModeSelectionChanged(app, event)
selectedButton = app.Mode.SelectedObject;
switch selectedButton.Text
case 'Mode1'
app.Button.Text = "Load";
case 'Mode2'
app.Button.Text = "Plot";
case 'Mode3'
app.Button.Text = "Display";
end
end

5 comentarios

Leon
Leon el 16 de Mzo. de 2021
Many thanks!
I just tried it, but it does not do anything. At the same time, there is no error of any sort.
Cris LaPierre
Cris LaPierre el 16 de Mzo. de 2021
Editada: Cris LaPierre el 11 de Nov. de 2024
What are you expecting it to do?
When I tested it, it changes the displayed text on app.Button based on the selection of the radio buttons. Again, you must label your buttons 'Mode1', etc for it to work.
Leon
Leon el 16 de Mzo. de 2021
That was indeed the problem!
I had the previous issue because I was using selectedButton.Text, but in my cases, they were the Values. Now it is working.
Many thanks!
Eric
Eric el 11 de Nov. de 2024
Apologies for necromancing the thread. I don't fully understand how the solution involving values works. It is my understanding that selectedButton is a button object. For radio buttons, button.Value is either 0 or 1. My confusion is regarding how selectedButton.Value works in the example since it is now corresponding to the index of the button rather than the Boolean value?
Cris LaPierre
Cris LaPierre el 11 de Nov. de 2024
You are correct. A button can only have a value of 0 or 1. If there are more than 2 butttons, you cannot use value to determine which button has been selected.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Update figure-Based Apps en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Preguntada:

el 16 de Mzo. de 2021

Comentada:

el 11 de Nov. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by