Curses y timer
Alfonso de la Guarda
alfonsodg en gmail.com
Mie Feb 28 15:53:05 CET 2007
Hola,
Aqui hay otra solución, la cual empleo para colocar la hora cada segundo:
def imptiempo(pan):
win=definewin(pan,0,0)
while 1:
time.sleep(1)
impres=time.strftime("%A, %d-%B(%m)-%Y %H:%M:%S")
posx=cent(maxx,impres)
win.addstr(0,posx,impres)
updat()
hora=mkpanel(curses.COLOR_WHITE,1,maxx-2,4,1)
thread.start_new_thread(imptiempo,(hora,))
Aqui he creado -en mi aplicación- algunas funciones que me ayudan a
controlar mis paneles como definewin, pero basicamente lo que hace es
convertir un panel en una ventana. Despues del while empieza lo importante,
porque hace que el reloj se dispare y se imprima eternamente en el panel.
Saludos,
On 2/28/07, Carles Company Soler <carles en companysoler.cat> wrote:
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Buenas,
> estoy haciendo una aplicación en Python usando la biblioteca curses.
> Ahora quiero que cada 5 segundos se me refresque la pantalla. Pensé
> hacerlo con el módulo Timer de la biblioteca threading, pero a veces se
> me queda un poco loco.
> Lo hago así:
>
> def refresca(scr):
> global thread
> global block
> if block==0:
> carrega_fitxers()
> mostra_fitxer(scr)
> thread=Timer(5.0,refresca,[scr])
> thread.start()
>
> y en la funcion principal:
>
> thread=Timer(5.0,refresca,[scr])
> thread.start()
>
> Pero no acaba de ir bien. Hago algo mal? Hay otra solución mejor?
>
> Gracias!
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFF5YyXuMcAvpoPkjARAhy1AJkBOxADF2eUqZnTuZJChsXos0fF8QCfbLOT
> vTUyUcCP/3Bm7WdcI/FbPgk=
> =smcb
> -----END PGP SIGNATURE-----
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
--
--------------------------------
Alfonso de la Guarda
INVESTIGACION Y CONSULTORIA TECNOLOGICA SAC
Telef. 97550914
4726906
Más información sobre la lista de distribución Python-es