How to Update Label Text from Custom Function in AppDesigner?

67 visualizaciones (últimos 30 días)
Hello everyone! I have custom analysing function that analyses the directory. I am calling this function from the main GUI app in AppDesigner. The function that I am calling from the main app has the following structure,
function analyse_result = analyse(path_dir)
objects = objects_in_dir(path_dir)
for ii = 1:length(objects)
do_something
end
end
Now I've added a label text on the gui and called ProgressLabel. What I want to do is to update this label inside the function body, so I've updated the function like so,
function analyse_result = analyse(path_dir,app.ProgressLabel.Text)
objects = objects_in_dir(path_dir)
for ii = 1:length(objects)
do_something
app.ProgressLabel.Text = sprintf("Iteration: %%u",(ii/length(objects))*100)
end
end
But when I'm calling this updated function from the main gui with added new variable, nothing changes on the text label. How can I solve this issuse?

Respuesta aceptada

Ergin Sezgin
Ergin Sezgin el 3 de Oct. de 2022
Hello Arda,
Try using drawnow to update figures and callbacks as the following:
function analyse_result = analyse(path_dir,app.ProgressLabel.Text)
objects = objects_in_dir(path_dir)
for ii = 1:length(objects)
do_something
app.ProgressLabel.Text = sprintf("Iteration: %%u",(ii/length(objects))*100)
drawnow
end
end
Same is necessary for other operations such as while loop terminations via a button.
  6 comentarios
Arda Kayaalp
Arda Kayaalp el 3 de Oct. de 2022
Silly of me, I couldn't see the app structure. Thanks a lot, it worked!
Ergin Sezgin
Ergin Sezgin el 3 de Oct. de 2022
I'm happy that it worked, you are welcome.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by