Display real time clock in GUI

3 Ansichten (letzte 30 Tage)
ngo tung
ngo tung am 27 Apr. 2020
Kommentiert: ngo tung am 27 Apr. 2020
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

Antworten (1)

Walter Roberson
Walter Roberson am 27 Apr. 2020
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 Kommentare
Rik
Rik am 27 Apr. 2020
He already suggested the solution: use a timer object.
ngo tung
ngo tung am 27 Apr. 2020
Thank you.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by