[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