[Kde-devel-es] Control preciso del tiempo

Michael michaell at teleline.es
Wed Apr 30 22:03:37 CEST 2003


Hi,

> Estoy haciendo un programilla (con Qt) que tiene una especie de cronómetro
> (el usuario puede ponerlo en marcha o pararlo pulsando unos botones). El
> problema está en que ese cronómetro tiene que ser lo más exacto posible,
> no debe atrasarse.
> 
> Actualmente el cronómetro lo tengo en un QTime, y un QTimer que se ejecuta
> periodicamente (cada 100 milisegundos) le añade esos 100 milisegundos al
> QTime (¿no hay una mejor forma de hacer esto?) y de paso mira el tiempo
> que marca y si se cumplen determinadas condiciones realiza otras tareas
> (que van desde actualizar una QLabel hasta ejecutar un programa externo).
> Y el reloj se atrasa.
> 
> ¿Qué debo hacer para que ese cronómetro no se atrase? Aunque el programa
> se ponga a hacer pesadas animaciones (o lo que sea) el reloj no debe
> pararse.

Lo estas planteando erroneamente, el Timer debe servir para actualizar
visualmente el QLabel, pero NO para medir el tiempo.
Para medir el tiempo debes simplemente pedir la hora al sistema
operativo, de modo que la hora a mostrar en el qlabel sera simplemente:

hora_cronometro= hora_actual - hora_inicial.

Salud2 !!!







> He pensado que quizás la solución venga por utilizar threads (QThread)
> pero no lo he hecho nunca y me parece demasiado complicado. Y como no sé
> si es la solución correcta prefiero preguntar aquí antes de ponerme con
> ello.
> 






More information about the Kde-devel-es mailing list