How to update GUI in matlab App during a callback

74 vues (au cours des 30 derniers jours)
Timo
Timo le 21 Avr 2022
Commenté : Hiro Yoshino le 21 Avr 2022
Hello
Environement: matlab R2021b and R2021a, windows 10
I would like to change the color of a button during a callback in an Matlab App created with the App Designer.
% Button pushed function: LoadButton
function LoadButtonPushed(app, event)
set(app.LoadButton,'BackgroundColor',[1, 0, 0])%set color of the button to red
%... do things..
set(app.LoadButton,'BackgroundColor',[0, 1, 0])%set color of the button to green
end
I see only the green button in the end, but not the red button while the callback function is running. It seems that there is something like a refresh or update, somthine like guidata in GUIDE is needed.
How do I update the user interface inbetween?
Many thanks and best wishes

Réponse acceptée

Bruno Luong
Bruno Luong le 21 Avr 2022
Try to force refresh with drawnow
% Button pushed function: LoadButton
function LoadButtonPushed(app, event)
set(app.LoadButton,'BackgroundColor',[1, 0, 0])%set color of the button to red
drawnow
%... do things..
set(app.LoadButton,'BackgroundColor',[0, 1, 0])%set color of the button to green
drawnow
end
  4 commentaires
Timo
Timo le 21 Avr 2022
Modifié(e) : Timo le 21 Avr 2022
Works perfectly. Many thanks Bruno!
Hiro Yoshino
Hiro Yoshino le 21 Avr 2022
Wow it's great ☺

Connectez-vous pour commenter.

Plus de réponses (1)

Hiro Yoshino
Hiro Yoshino le 21 Avr 2022
the changes made by valuChanged callback functions are reflected later. If you want to see the changes dinamically, you should use valuChanging callback functions.

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by