<br><br><div class="gmail_quote">2011/2/9 Narcis Garcia - GiLUG <span dir="ltr">&lt;<a href="mailto:informatica@actiu.net">informatica@actiu.net</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hola, estoy diseñando una interfaz con wxPython que enumera una serie de computadoras en red, y actualiza su estado.<br>
<br>
Por ejemplo:<br>
Equipo 1: ausente<br>
Equipo 2: 10%<br>
Equipo 3: 50%<br>
Equipo 4: 20%<br>
etc.<br>
<br>
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:<br>

Indicador.SetLabel(&quot;consultando&quot;)<br>
NuevoEstado=EstadoConsultado(Actual)<br>
Indicador.SetLabel(NuevoEstado)<br>
<br>
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 &quot;consultando&quot; para cada consulta durante el recorrido.<br>

<br>
He buscado un equivalente al &quot;DoEvents&quot; de VisualBasic, pero no he encontrado nada para Python. ¿Alguien sabe como resolverlo?<br>
<br>
Gracias.<br>
_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a></blockquote><div><br></div><div>Para que se refresque tu parte gráfica tienes que devolverle el control a la misma. No he hecho nada nunca con wxPython, pero es lo mismo en todos los frameworks gráficos que conozco. Soluciones hay varias:</div>
<div><ul><li>Implementa la consulta de estado en un thread (o varios) independiente y actualiza la parte gráfica mediante eventos (supongo que hay un equivalente a signal/slot de KDE para wxPython)</li><li>Implementa la consulta por partes, devolviendo el control a la gui en cata iteración (por ejemplo, por equipos).</li>
</ul><div>Un saludo,</div></div><div>marmolro</div></div><br>