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?

 採用された回答

Simon Chan
Simon Chan 2023 年 2 月 23 日

0 投票

Add drawnow after the line updated the image.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeDevelop Apps Using App Designer についてさらに検索

製品

リリース

R2021b

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by