[Olpc-uruguay] Cómo hacer bucles en GTK
amviera en adinet.com.uy
amviera en adinet.com.uy
Mie Abr 10 13:52:21 EDT 2013
Gracias Pablo.
Antes de lanzar esta pregunta estuve buscando información en diferentes tutoriales y no pude encontrar ninguna solución favorable.
El problema no es de tiempo, de hecho hay una línea time.sleep(1) que permite hacer la pausa. También había probado con timeout_add y no funcionó.
En realidad esa parte del programa corresponde a la programación de un cronómetro, pero no se puede ver el tiempo transcurrido hasta que termine de transcurrir el tiempo máximo previsto.
Lo que tu me sugerís da el siguiente error que no sé cómo solucionarlo:
unbound method tiempo() must be called with MiClase instance as first argument (got nothing instead)
----Original Message----
De: pmoleri en gmail.com
Fecha: 10/04/2013 12:51
Para: "Comunidad ceibalJAM"<olpc-uruguay en lists.laptop.org>
Asunto: Re: [Olpc-uruguay] Cómo hacer bucles en GTK
Mauricio,
El problema es que ese bucle ejecuta tan rápido que nunca vas a ver lo que dibujó.
Creo que lo correcto sería iniciar un timer, que ejecute cada un segundo o algo así.
Ej:
contador = 0
def decrementar(*args):
global contador
self.nombre_de_caja_de_texto.set_text(str(contador))
contador += 1
return contador < 10 # (cuando el contador llegue a 10 va a devolver false y para el timer)
gtk.timeout_add(1000, decrementar) # llamar cada 1 seg (1000ms)
Saludos,
Pablo
2013/4/10 Alan Jhonn Aguiar Schwyn <alanjas en hotmail.com>
De Gtk sé muy poco. Pero probá de agregarle un "show":
for x in range (0,10): self.nombre_de_caja_de_texto.set_text(str(x))
self.nombre_de_caja_de_texto.show()
Date: Wed, 10 Apr 2013 12:36:46 -0300
From: amviera en adinet.com.uy
To: olpc-uruguay en lists.laptop.org
Subject: [Olpc-uruguay] Cómo hacer bucles en GTK
Hola.
Tengo un problema con una actividad que estoy desarrollando pensada para ser utilizada por docentes.
La estoy programando en python con pygtk.
En algún momento debo hacer un bucle algo así como el siguiente.
import pygtk
....
while x<10:
-----x=x+1
-----self.nombre_de_caja_de_texto.set_text(str(x))
Probé también con
for x in range (0,10):
-----self.nombre_de_caja_de_texto.set_text(str(x))
El problema es que me muestra el resultado del proceso al final, cuando sale del bucle, y yo necesito que me muestre el resultado en cada pasada por el bucle.
Si sustituyo la última línea por:
-----print x
entonces no hay problema, pero no me muestra el resultado dentro de la ventana de la actividad sino en el terminal.
¿Alguien me puede dar alguna posible solución?
Además, no puedo cancelar ni hacer nada hasta que el programa no salga del bucle. Queda como trancado hasta que sale porque terminó.
Desde ya muchas gracias.
Saludos, Mauricio.
_______________________________________________
Olpc-uruguay mailing list
Olpc-uruguay en lists.laptop.org
http://lists.laptop.org/listinfo/olpc-uruguay
_______________________________________________
Olpc-uruguay mailing list
Olpc-uruguay en lists.laptop.org
http://lists.laptop.org/listinfo/olpc-uruguay
_______________________________________________
Olpc-uruguay mailing list
Olpc-uruguay en lists.laptop.org
http://lists.laptop.org/listinfo/olpc-uruguay
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.laptop.org/pipermail/olpc-uruguay/attachments/20130410/16685642/attachment.html>
More information about the Olpc-uruguay
mailing list