bucle e interfaz bloqueada

David Ortega Berdún dortega en polinux.upv.es
Dom Abr 24 19:06:26 CEST 2005


Si el thread lo metes en el lugar correcto debería valer para que la
interfaz no se te quede clavada, otra cosa es que se te quede el disco
duro ocupado y cuando el usuario le de para hacer cualquier cosa tarde
un huevo porque no tiene acceso. 

Por otra parte, el sleep que metes me parece que es demasiado corto, es
posible que así tal y como lo has puesto te chupe la cpu al 100% y se
quede así un buen rato hasta que el bucle acabe, yo pondría un sleep de
medio segundo por lo menos.

Otra solución puede ser poner una barra de progreso y dejarlo así hasta
que acabe, así el usuario no se piensa que está todo clavado.

Un saludo.


El dom, 24-04-2005 a las 17:59 +0200, Alejandro Moreno López escribió:
> el uso de threads no ha solucionado nada :-(. Alguna idea?
> 
> On 4/23/05, Alejandro Moreno López <al3xmor3no en gmail.com> wrote:
> > 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
-- 
David Ortega Berdún <dortega en polinux.upv.es>
Encargado de Infraestructuras y CoAdministrador en PoLinux

Obtén mi clave pública de:
http://www.polinux.upv.es/~dortega/dortega.gpg

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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