
Appdesigner: updating the value of Text area
5 次查看(过去 30 天)
显示 更早的评论
I want to show status of a function such as "running" and "finished" on a textarea like following code,
The start-button is pushed, then the calculantion function is started. And I expected the status(running/stopped) is updated on a text area, but it didn't work. ("running" condition did not show, but 'finished' did.)
function StartButtonPushed(app, event)
app.val = app.PromptTextArea.Value;
app.StartButton.Enable = "off";
app.statusTextArea.Value = "running";
calculation(app, app.val);
app.ResponseTextArea.Value = app.answer;
app.statusTextArea.Value = 'finished';
end
As a temporal solution, I placed "pause" like below. Do you have some smarter one?
function StartButtonPushed(app, event)
app.val = app.PromptTextArea.Value;
pause(1); % placed pause
app.StartButton.Enable = "off";
pause(1); % placed pause
app.statusTextArea.Value = "running";
pause(1); % placed pause
calculation(app, app.val);
app.ResponseTextArea.Value = app.answer;
app.statusTextArea.Value = 'finished';
end
1 个评论
Cris LaPierre
2025-2-11
I built a simple test app using the code you shared. It appears to work as you'd expect without needing to add pauses.

It may depend on what is happening in your calculation function. Try using drawnow instead of pause(1).
采纳的回答
Adam Danz
2025-2-11
See drawnow
function StartButtonPushed(app, event)
app.val = app.PromptTextArea.Value;
app.StartButton.Enable = "off";
app.statusTextArea.Value = "running";
drawnow() % <-----
calculation(app, app.val);
app.ResponseTextArea.Value = app.answer;
app.statusTextArea.Value = 'finished';
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!