Image component not updated in AppDesigner GUI

In an AppDesigner App (GUI) I have a number of Axes and numeric input fields. I also have a button in the GUI that I press when to start the calculations, based in the input fields, and eventually to plot the results. Sometimes this takes some time and I would like to indicate the "busy" state in the GUI.
I have added an Image component in the GUI that resulted in the below code in the Component Initialization section;
% Create StatusImage
app.StatusImage = uiimage(app.UIFigure);
app.StatusImage.Position = [1529 591 107 52];
In the "startupFcn(app)" i have added the following code (where 'busyImage' and 'idleImage' are Private properties.;
app.busyImage = imread('Busy.PNG');
app.idleImage = imread('Idle.PNG');
In the "Calculate"-button call-back I have the following code;
function UpdateButtonPushed(app, event)
app.StatusImage.ImageSource = app.busyImage;
doCalculations(app);
updatePositionSweepPlot(app);
app.StatusImage.ImageSource = app.idleImage;
end
The result is that the Image is not changed at all when pressing the "button". However, when running this in the debugger the image is updated. How do I solve this?

 Akzeptierte Antwort

Simon Chan
Simon Chan am 23 Feb. 2023

0 Stimmen

Add drawnow after the line updated the image.

Weitere Antworten (0)

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2021b

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by