bucle e interfaz bloqueada

Ernesto Revilla erny en sicem.biz
Dom Abr 24 23:49:20 CEST 2005


El sleep va a poner el proceso de Python con lo que no te sirvirá a usar 
otros threads, porque se ejecutan dentro del mismo proceso.

Cada x archivos deberías forzar una ejecución de los eventos que 
dependerá de la interfaz que uses. La otra posibilidad es que mires si 
hay soporte para threads en la interfaz que uses, como Pygtk.

Erny


Alejandro Moreno López escribió:

>Hola a todos,
>
>sigo con mi pyDesktop. Ahora mismo me encuentro con un problema
>curioso. Resulta que la aplicación tiene que hacer un barrido de todo
>el disco duro con un bucle parecido a este:
>
>       for file in files:
>            actual = dir + "/" + file + '\n'
>            fileHandle.write ( dir + "/" + file + '\n')
>            self.on_Searching(actual)
>            #time.sleep(0.001)
>
>
>    def on_Searching(self, dir):
>        #self.components.StaticText1.SetLabel( dir )
>        self.statusBar.text = dir
>
>el caso es que la aplicación se me queda medio colgada. Sigue haciendo
>cambios en la barra de estado, pero no puedo tocar la ventana,
>moverla, tocar algún botón, etc. La idea es que esto se siga haciendo
>en segundo plano, pero que deje trabajar al usuario. Ahora mismo sale
>el icono de tiempo y ahí se queda. Como veis he probado a meterle un
>sleep sin éxito.
>
>Se me ocurre ahora mismo lanzar un thread... pero no se si funcionará,
>voy a probar (mi primera incursión en threads con python :-)). A
>alguien se le ocurre alguna mejor idea? Si quereis el código fuente os
>lo puedo pasar. La interfaz está en wxWidgets por si le sirve a
>alguien...
>
>un saludo.
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es
>
>  
>


-- 
Ernesto Revilla
sicem sl
Pol. Ind. Juncaril, c/ Loja Parc. 7 Local 13
18220 Albolote
http://www.sicem.biz
Tel: 637 716189
MSN: aerd en mx3.redestb.es
ICQ: 163888521



---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0516-8, 24/04/2005
Comprobado en: 24/04/2005 23:49:22
avast! tiene los derechos reservados (c) 2000-2004 ALWIL Software.
http://www.avast.com




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