[pyar] Problema con Threads y Webkit

Ivan Alejandro ivanalejandro0 en gmail.com
Lun Ago 9 23:38:22 ART 2010


2010/8/9 Mario Colque <colquemario en gmail.com>:
> Muy bueno! mas claro echale soda :P
>
> La verdad que si había leído el recetario pero no lo había relacionado
> con mi problema.
> Ahora voy a probar de nuevo, pero, como se tomaron su tiempo para
> responderme, me tomo el mío para informarles lo que quiero hacer:
>
> Tengo un .glade el cual contiene un statusicon y un window.
> Lo que necesito hacer es: en el hilo principal, obviamente, manejar el
> .glade, y en un 2° hilo realizar unas operaciones que toman su tiempo,
> mientras tanto necesito cambiar el estado del status icon, cambiando
> el icono y hacerlo pulsante o no de acuerdo a los resultados de los
> procesos que corro en el 2° hilo, hasta ahí ningún problema, ya que lo
> soluciono con gtk.gdk.threads_enter() y gtk.gdk.threads_leave(), nose
> si será la forma correcta de hacerlo, pero me funciona.
>
> Ahora, el problema viene cuando al finalizar el 2° hilo, necesito que
> con los datos finales de los procesos, me abra una página en el
> navegador que agrego en el window del .glade, lo cual no funciona, por
> lo que me explicaron de los multiples threads.
>
> Ahora que?
>
> Saludos y gracias!
>
> --
> Mario Colque

Aprendi varias cosas nuevas por este hilo de discusion, gracias :)
Yo creo que deberias tener en tu "Worker Thread" [0] un metodo que te
permita saber si se termino de hacer el procesamiento que iniciaste, y
desde la clase de la interfaz grafica (con un timer por ejemplo)
chequear si termino o no. En caso que termine cargar los datos en la
pagina web.

Creo que la manera mas clara (al menos para mi, quizas porque uso Qt)
es la de [1].
Podrias hacer que el thread te devuelva una cadena con el html que
quieras renderizar en el webkit.

Lo importante es que con los datos finales no hagas nada desde el
thread, ya que este no deberia tocar la GUI. Lo que haces es procesar
y quedarte esperando a que alguien te pida el resultado (en tu caso la
gui).


[0] http://www.codeproject.com/KB/threads/usingworkerthreads.aspx
(Ernesto Savoretti)
[1] http://python.org.ar/pyar/QtMultiThread


Saludos

-- 
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments



More information about the pyar mailing list