Display real time clock in GUI

4 ビュー (過去 30 日間)
ngo tung
ngo tung 2020 年 4 月 27 日
コメント済み: ngo tung 2020 年 4 月 27 日
Hi all guy.
I displayed it in GUIDE matlab. it work good. However, it don't run when i callback function
other
Timer(handles);%call timer
function Timer(handles)
while find(get(0,'children')==handles.figure1)
nows = fix(clock);
timerStr = [num2str(nows(4)),':', num2str(nows(5)),':', num2str(nows(6))];
set(handles.time,'String',timerStr);
pause(1);
end

回答 (1 件)

Walter Roberson
Walter Roberson 2020 年 4 月 27 日
You have an infinite loop. The pause() call permits the infinite loop to be interrupted by a GUI callback, but the code in the infinite loop will not continue running until the callback returns. Using pause(1) does not mean that 1 second later, no matter what MATLAB is doing, that control should be given back to your infinite loop.
What you should do is create a timer object that should run evern 1 second. The code for that timer object should update the GUI clock, and then should return.
I think you will find code for a clock in the File Exchange.
  3 件のコメント
Rik
Rik 2020 年 4 月 27 日
He already suggested the solution: use a timer object.
ngo tung
ngo tung 2020 年 4 月 27 日
Thank you.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMigrate GUIDE Apps についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by