App Designer not changing Edit Field Value after button is pushed

Using the callback below, I am trying to print text to a "status bar" (Edit Field Text) before the body of the function is reached to indicate that the App is "processing". At the end of the script, I am printing "STATUS: Complete" to indicate that the funcion is done running. The "STATUS: Complete" text has no trouble being displayed in the edit text field, but i can't get it to print the initial STATUS text.
My code is arranged like so:
function ButtonPushed(app, event)
app.StatusField.Value = 'STATUS: Processing...';
[body of function....]
app.StatusField.Value = 'STATUS: Complete';
end

 Réponse acceptée

Adam Danz
Adam Danz le 20 Juin 2019
Modifié(e) : Adam Danz le 20 Juin 2019
Try this
function ButtonPushed(app, event)
app.StatusField.Value = 'STATUS: Processing...';
drawnow() % <---- tell matlab to update now
[body of function....]
app.StatusField.Value = 'STATUS: Complete';
end

3 commentaires

Excellent, what a simple fix!
Thanks!
High five!
Perfect solution! Works perfectly.
Just a tip. If anybody needs to update a percentage value for example, and the proposed function make the change imperceptible, you can also use the next code.
function ButtonPushed(app, event)
app.StatusField.Value = 'STATUS: Processing...';
pause(0.01) % You create a delay of 10ms to update your value
[body of function....]
app.StatusField.Value = 'STATUS: Complete';
end
Hope that helps!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Develop Apps Using App Designer dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by