App Designer not changing Edit Field Value after button is pushed

12 vues (au cours des 30 derniers jours)
AdamG2013468
AdamG2013468 le 20 Juin 2019
Commenté : Pablo López le 11 Juil 2020
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
Adam Danz
Adam Danz le 20 Juin 2019
High five!
Pablo López
Pablo López le 11 Juil 2020
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 Migrate GUIDE Apps dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by