How to show that calculation is going in MATLAB App
Show older comments
A rough app I have recreated.When the user clicks "Calculate", I want to show that calculations are happening like a progress bar or "Calculate" Button changes to "Calculating" and after calculations are done revert back to "Calculate".
Code for app is:
a = app.Number1EditField.Value;
b = app.Number2EditField.Value;
x = 10*rand(1,1);
eqn = 12- (a+b+x);
while eqn ~= 0
x = x + 0.0001;
end
app.AnswerEditField.Value = x;
% P.S I know here the answer won't come.
Accepted Answer
More Answers (2)
Steven Lord
on 12 Oct 2021
1 vote
You could use a uiprogressdlg dialog.
dpb
on 12 Oct 2021
An outline of the progress dialog implementation I used for one app...
% Button pushed function: UpdateButton
function UpdateButtonPushed(app, event)
% disable the pushbutton so can't queue more events; change text to show we're busy
app.UpdateButton.Enable='off'; app.UpdateButton.Text="Working"; app.UpdateButton.FontColor='r';
app.QuitButton.Enable='off';
drawnow nocallbacks % have to refresh screen to be sure updates a shown immediately
%...a whole bunch of error-checking code in here elided for brevity...
% insert a progress dialog for grins...
h=uiprogressdlg(app.RestrictedFundsAwardsWorkbookUpdateToolUIFigure, ...
"Title",'Please Standby...',"Message",'Reading Billing',"Indeterminate","on");
% the actual call to the function that does all the work...
[tBill,tPay]=readBilling(app.billQualFile,app.billSheet,app.billUpdate);
% the first phase is completed; change the progress message to reflect
h.Message='Writing Awards';
writeAwards(tBill,tPay,app.year,app.semester,app.awardQualFile,app.awardSheet);
% all done; change the progress message to reflect; pause long enough
% user can read message (if they're looking :)
h.Message='Update Complete';
pause(0.5)
close(h)
% now reenable the buttons and replace original label...
app.UpdateButton.Text="Update"; app.UpdateButton.FontColor='k'; app.UpdateButton.Enable='on';
app.QuitButton.Enable='on';
drawnow
end
Above seems to work like a champ...
Categories
Find more on Develop Apps Using App Designer in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!