Crear un timer!

Marcos García marcosgdf en gmail.com
Mar Sep 1 11:15:50 CEST 2009


Nada, ya lo he conseguido, he llegado a topar con este manual/ejemplo
http://www.rkblog.rk.edu.pl/w/p/qtimer-making-timers-pyqt4/ y es
extremadamente fácil.
Solo hay que crear una variable en la clase con 'self.timer' (por ejemplo) y
pasarle a QtCore.QTimer()

Luego, como yo quiero hacer un timer constante, solo tengo que hacer
self.timer.start(milisegundos)

y capturar el momento en el que acaba con la señal:
QtCore.QObject.connect(self.timer, QtCore.SIGNAL("timeout()"),
self.refreshNotes)

self.RefreshNotes es la función que quiero que se ejecute.

En fin, gracias! :)

2009/9/1 Chema Cortes <pych3m4 en gmail.com>

> El 1 de septiembre de 2009 10:46, Marcos García<marcosgdf en gmail.com>
> escribió:
> > Uso PyQT, pero no sabía que las GUIs hicieran algo más que representar
> > cosas...
> >
> > A la respuesta de "Soto", si uso sleep, supongo que pararía la ejecución
> del
> > programa hasta que cargue eso no? eso no es lo que me interesa.
> >
> > Tampoco puedo hacer uso de threads independientes, porque quiero que se
> > llame a una función de la clase, y ya lo intenté pero no hubo forma.
> >
> > Me miraré la documentación de PyQt a ver si integran algo de timer...
>
> En Qt es casi trivial hacer que un objeto lance señales cada cierto
> tiempo mediante el "timerEvent"
>
> class DataSource(QObject):
>
>    def __init__(self, dataFunction, *args):
>        apply(QObject.__init__, (self,) + args)
>        self.timer = self.startTimer(1000) #lanzar un evento cada segundo
>        self.dataFunction = dataFunction
>
>    def timerEvent(self, ev):
>        self.emit(PYSIGNAL("timeSignal"), (self.dataFunction(),))
> _______________________________________________
> Lista de correo Python-es
> http://listas.aditel.org/listinfo/python-es
> FAQ: http://listas.aditel.org/faqpyes
>



-- 
marcos garcía // marquitox (.net)
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es