Display real time clock in GUI

6 vues (au cours des 30 derniers jours)
ngo tung
ngo tung le 27 Avr 2020
Commenté : ngo tung le 27 Avr 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

Réponses (1)

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by