[pyar] Problema con Threads y Webkit

Mariano Guerra luismarianoguerra en gmail.com
Lun Ago 9 08:11:08 ART 2010


2010/8/9 Mario Colque <colquemario en gmail.com>:
> Hola amigos! como están?
>
> tengo un problema que me está comiendo la cabeza...
>
> Porque cuando ejecuto este script, no me muestra como debería el "navegador":
>
> #!/usr/bin/env python
> # -*- coding: utf-8 -*-
>
> import gtk, webkit
> import threading
> import time
>
> class Window(threading.Thread):
>    def __init__(self, algo):
>        threading.Thread.__init__(self)
>        self.algo = algo
>
>    def run(self):
>        time.sleep(2)
>        print self.algo
>        w = gtk.Window()
>        b = webkit.WebView()
>        w.add(b)
>        b.open('http://google.com')
>        w.show_all()
>
> gtk.gdk.threads_init()
> print "antes del hilo"
> r = Window('ejecuto el hilo')
> r.start()
> print "despues del hilo"
> gtk.main()
>
> Pero cuando ejecuto r.run() en vez de r.start() si funciona, pero
> pierdo los hilos....
>
> #!/usr/bin/env python
> # -*- coding: utf-8 -*-
>
> import gtk, webkit
> import threading
> import time
>
> class Window(threading.Thread):
>    def __init__(self, algo):
>        threading.Thread.__init__(self)
>        self.algo = algo
>
>    def run(self):
>        time.sleep(2)
>        print self.algo
>        w = gtk.Window()
>        b = webkit.WebView()
>        w.add(b)
>        b.open('http://google.com')
>        w.show_all()
>
> gtk.gdk.threads_init()
> print "antes del hilo"
> r = Window('ejecuto el hilo')
> r.run()
> print "despues del hilo"
> gtk.main()
>
> Como sería la forma correcta de hacerlo? dado que por lo visto aún no
> manejo del todo bien los hilos :P
> Lo estoy corriendo en ubuntu.

gtk al igual que la mayoria de los toolkits graficos no soporta
multipls threads modificando el estado a la vez por lo que todo el
codigo de gtk tiene que correr en el mismo thread.

que es lo que necesitas lograr para correr la ventana en un thread aparte?

saludos.



More information about the pyar mailing list