En qt está QtGui.QApplication.processEvents()<br>que puesto en un bucle actualiza la gui cada vez que se ejecuta el bucle, supongo que habrá algo muy similar en wxpython<br><br><div class="gmail_quote">El 9 de febrero de 2011 22:08, Narcis Garcia - GiLUG <span dir="ltr">&lt;<a href="mailto:informatica@actiu.net">informatica@actiu.net</a>&gt;</span> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Supongo que la asincronía es la clave para hacerlo bién.<br>
Ahora he encontrado el método Update() aplicable a todos los objetos gráficos, y me sirve para la actualización manual (no funciona al abrir el programa).<br>
<br>
No sé cómo se devuelve el control a la GUI.<br>
Supongo que me acabaré mirando lo de los hilos/tareas asíncronas.<br>
<br>
Gracias.<br>
<br>
<br>
Al 09/02/11 21:37, En/na marmolro ha escrit:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">
<br>
<br>
2011/2/9 Narcis Garcia - GiLUG &lt;<a href="mailto:informatica@actiu.net" target="_blank">informatica@actiu.net</a><br></div>
&lt;mailto:<a href="mailto:informatica@actiu.net" target="_blank">informatica@actiu.net</a>&gt;&gt;<div class="im"><br>
<br>
    Hola, estoy diseñando una interfaz con wxPython que enumera una<br>
    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<br>
    su tiempo), y esto tiene que servir para unos 30 equipos. Al pulsar<br>
    [Actualizar] hago un recorrido (for Actual in Equipos) para<br>
    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<br>
    proceso de toda la lista, y el formulario no cambia hasta el final.<br>
    Ni siquiera se aprecia el &quot;consultando&quot; para cada consulta durante<br>
    el recorrido.<br>
<br>
    He buscado un equivalente al &quot;DoEvents&quot; de VisualBasic, pero no he<br>
    encontrado nada para Python. ¿Alguien sabe como resolverlo?<br>
<br>
    Gracias.<br>
    _______________________________________________<br>
    Python-es mailing list<br></div>
    <a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a> &lt;mailto:<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a>&gt;<div class="im"><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><br>
<br>
<br>
Para que se refresque tu parte gráfica tienes que devolverle el control<br>
a la misma. No he hecho nada nunca con wxPython, pero es lo mismo en<br>
todos los frameworks gráficos que conozco. Soluciones hay varias:<br>
<br>
    * Implementa la consulta de estado en un thread (o varios)<br>
      independiente y actualiza la parte gráfica mediante eventos<br>
      (supongo que hay un equivalente a signal/slot de KDE para wxPython)<br>
    * Implementa la consulta por partes, devolviendo el control a la gui<br>
      en cata iteración (por ejemplo, por equipos).<br>
<br>
Un saludo,<br>
marmolro<br>
<br>
<br>
<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><br>
</div></blockquote><div><div></div><div class="h5">
_______________________________________________<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><br>
</div></div></blockquote></div><br>