> Hola, estoy diseñando una interfaz con wxPython que enumera una serie de 
> computadoras en red, y actualiza su estado.
> 
> Por ejemplo:
> Equipo 1: ausente
> Equipo 2: 10%
> Equipo 3: 50%
> Equipo 4: 20%
> etc.
> 
> Le he puesto un boton para actualizar el estado (cada consulta tarda su 
> tiempo), y esto tiene que servir para unos 30 equipos. Al pulsar 
> [Actualizar] hago un recorrido (for Actual in Equipos) para consultar su 
> estado y reflejarlo en las etiquetas de texto:
> Indicador.SetLabel("consultando")
> NuevoEstado=EstadoConsultado(Actual)
> Indicador.SetLabel(NuevoEstado)
> 
> El problema es que se queda todo congelado hasta que termina todo el 
> proceso de toda la lista, y el formulario no cambia hasta el final. Ni 
> siquiera se aprecia el "consultando" para cada consulta durante el 
> recorrido.
> 
> He buscado un equivalente al "DoEvents" de VisualBasic, pero no he 
> encontrado nada para Python. ¿Alguien sabe como resolverlo?

No es wx, pero el problema es el mismo, utilizar trabajos asíncronos.
http://book.opensourceproject.org.cn/lamp/python/pythoncook2/opensource/0596007973/pythoncook2-chp-11-sect-9.html

Otro ejemplo:
http://code.activestate.com/recipes/577129-run-asynchronous-tasks-using/

-- 
Reynaldo

"mens et manus"
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a