[Olpc-uruguay] Cómo mantener interactuando actividades
Agustìn Zubiaga
aguszs97 en gmail.com
Vie Jun 3 17:58:58 EDT 2011
Hola Mauricio, para hacer lo que tu quieres (si entendí bien) hay que
trabajar con hilos.
Si estas utilizando gtk esto se hace así:
import threading # Importamos un modulo para trabajar con hilos
gtk.threads_init() # iniciamos threads de gtk
def ejecutar_mozilla(self): # una funcion para ejecutar un comando externo
gtk.threads_enter() # entra a threads (todo lo que se ejecuta
abajo va por otro hilo)
os.system("sugar-launch Mozilla") # ejecuta el comando
gtk.threads_leave() # "soltamos" a threads
hilo = threading.Thread(self.ejecutar_mozilla) # crea el hilo
hilo.start() # y lo ejecuta
Haber si te sirve.
Suerte con tu actividad-
El 03/06/11, Alan Jhonn Aguiar Schwyn <alanjas en hotmail.com> escribió:
>
>
> Hola!
> Estoy casi seguro que es un tema de como llamás a los programas externos.Con
> lo del robot Butiá tenenmos que "levantar" un servidor de LUA y luegose abre
> la tortuga (TurtleArt). Para llamar a el servidor LUA usamos .sh queejecuta:
> "./lua bobot-server.lua &"
> Cuál es el secreto?
> El ampersand (&) del final es el secreto...Esto hace que se ejecute, el
> servidor en este caso, y quede "en un hilo separado",y continúe la ejecución
> del resto del programa...En tu caso debe pasar que se ejecuta y queda a la
> espera hasta que termineese proceso.En conclusión: buscá la forma de hacer
> eso que hace el ampersand (&).Generalmente alcanza con poner un ampersand..
> Depende el comando...
> Alan
>> Date: Fri, 3 Jun 2011 13:42:59 -0300
>> From: amviera en adinet.com.uy
>> To: olpc-uruguay en lists.laptop.org
>> Subject: [Olpc-uruguay] Cómo mantener interactuando actividades
>>
>> Hola.
>>
>> Para un proyecto de actividad que tengo ya casi terminado, y pronto
>> para subir al portal, sólo me falta solucionar un pequeño
>> inconveniente. Quizá alguien me pueda ayudar.
>>
>> En ciertos momentos es probable que el usuario necesite utilizar
>> algunas de las herramientas con que cuenta esta actividad. Algunas de
>> ellas se encuentran en mòdulos que se importan al programa principal, y
>> se pueden utilizar varias al mismo tiempo sin ningún tipo de
>> inconveniente. Si quedan en el marco se pueden utilizar unas u otras, e
>> incluso pueden interactuar.
>>
>> Mi problema es que en algunos casos no se trata de mòdulos sino de
>> archivos independientes que se ejecutan con os.system("...")
>>
>> En ese caso sólo se puede utilizar aquel programa al que se llamó
>> desde ese comando, mientras el resto de la actividad deja de funcionar
>> temjporalmente hasta que se cierre ese nuevo programa. Por eso no es
>> posible interactuar ni compartir información.
>>
>> Un ejemplo: Una de mis herramientas es un editor de texto (es un
>> módulo y con él no hay problemas) con el que puedo crear un archivo
>> web. Si desde el mismo programa abro el Mozilla haciendo os.system
>> ("sugar-launch Mozilla") para ver cómo va quedando el web, el editor
>> deja de funcionar al igual que el programa principal hasta que cierro
>> Mozilla.
>>
>> ¿Alguna posible solución?
>>
>> Gracias, Mauricio Viera.
>>
>>
>> _______________________________________________
>> Olpc-uruguay mailing list
>> Olpc-uruguay en lists.laptop.org
>> http://lists.laptop.org/listinfo/olpc-uruguay
>
--
*Agustín Zubiaga <http://www.agustinzubiaga.k25.net/>*
*
*
Alumno Utu Rafael Perazza
<http://sites.google.com/site/utuperaza2009>Miembro Python Joven
<http://sites.google.com/site/flaviodanesse/python-joven>Miembro ceibalJAM!
<http://drupal.ceibaljam.org>Miembro SugarLabs <http://sugarlabs.org>
Tel: 4340 - 2321
Cel: 099 88 16 59
*
*
More information about the Olpc-uruguay
mailing list