Ejecutar aplicación externa dentro de ventana gtk

Sebastian Lara Menares slara en udec.cl
Mie Oct 24 21:53:42 CEST 2007


Hola

jm.galvez en oneandzero.net wrote:
> Hola a todos antes de nada.
>
> Quisiera saber como puedo ejecutar una aplicación externa dentro de mi propia ventana de dialogo de gtk.
> Es decir el caso mas claro seria ejecutar "xpdf" dentro de mi propia ventana para visualizar pdf.
>   
Incrustar una aplicación dentro de otra es mas complicado y no se me 
ocurre como se prodría hacer sin bibliotecas especificas en la 
aplicación hijo, por ejemplo gtkmozembed con el que puedes incrustar 
gecko dentro de una aplicación GTK+. Para pdf's deberías ver como 
funciona poppler.

Para ejecutar una aplicación externa desde una aplicación GTK+ hay 
varias opciones :)

Una, y la más común, es usar os.system() pero no se recomienda. Mejor 
usar el módulo subprocess[1] que permite mas control sobre la aplicación.

Te recomiendo le des una mirada al método gobject.spawn_async()[2] que 
permite ejecutar la aplicación hijo de manera asincrónica (sin bloquear 
el loop principal de la aplicación padre).

Saludos.

[1]: http://docs.python.org/lib/module-subprocess.html
[2]: 
http://www.pygtk.org/docs/pygobject/gobject-functions.html#function-gobject--spawn-async

-- 
Sebastián Lara Menares
Departamento Ingeniería Eléctrica
Universidad de Concepción




Más información sobre la lista de distribución Python-es