Gracias Pablo.<br>Antes de lanzar esta pregunta estuve buscando información en diferentes tutoriales y no pude encontrar ninguna solución favorable.<br><br>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ó.<br><br>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. <br><br>Lo que tu me sugerís da el siguiente error que no sé cómo solucionarlo: <br><br>unbound method tiempo() must be called with MiClase instance as first argument (got nothing instead)<br><br><br>
<br>
<blockquote>
----Original Message----<br>
De: pmoleri@gmail.com<br>
Fecha: 10/04/2013 12:51 <br>
Para: "Comunidad ceibalJAM"<olpc-uruguay@lists.laptop.org><br>
Asunto: Re: [Olpc-uruguay] Cómo hacer bucles en GTK<br>
<br>
<div dir="ltr"><div><div><div>Mauricio,<br><br>El problema es que ese bucle ejecuta tan rápido que nunca vas a ver lo que dibujó.<br></div>Creo que lo correcto sería iniciar un timer, que ejecute cada un segundo o algo así.<br>
<br></div>Ej:<br><br></div><span style="font-family: arial,helvetica,sans-serif;">contador = 0<br></span><div><div><pre style="" class=""><span style="font-family: arial,helvetica,sans-serif;"><code><span class="">def</span><span class=""> decrementar</span><span class="">(*</span><span class="">args</span><span class="">):</span><span class=""><br><br> global contador<br></span></code><code><span class=""><code><span class=""> self.nombre_de_caja_de_texto.set_text(str(contador))<br></span></code> contador += 1<br> return contador < 10 # (cuando el contador llegue a 10 va a devolver false y para el timer)<br><br></span></code></span></pre><pre style="" class=""><span style="font-family: arial,helvetica,sans-serif;"><code><span class="">gtk</span><span class="">.</span><span class="">timeout_add</span><span class="">(</span><span class="">1000</span><span class="">,</span><span class=""> </span></code></span><span style="font-family: arial,helvetica,sans-serif;"><code><span class=""><span style="font-family: arial,helvetica,sans-serif;"><code><span class="">decrementar</span><span class=""></span></code></span></span><span class="">)</span><span class=""> </span><span class=""># llamar cada 1 seg (1000ms)</span></code></span></pre>
<br></div><div>Saludos,<br>Pablo<br><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/4/10 Alan Jhonn Aguiar Schwyn <span dir="ltr"><<a href="mailto:alanjas@hotmail.com" target="_blank">alanjas@hotmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div dir="ltr">De Gtk sé muy poco. Pero probá de agregarle un "show":<div class="im"><div><br></div><div>for x in range (0,10):</div></div><div> self.nombre_de_caja_de_texto.set_text(str(x))</div><div>
self.nombre_de_caja_de_texto.show()<br><br><div><div></div><hr>Date: Wed, 10 Apr 2013 12:36:46 -0300<br>From: <a href="mailto:amviera@adinet.com.uy" target="_blank">amviera@adinet.com.uy</a><br>To: <a href="mailto:olpc-uruguay@lists.laptop.org" target="_blank">olpc-uruguay@lists.laptop.org</a><br>
Subject: [Olpc-uruguay] Cómo hacer bucles en GTK<div><div class="h5"><br><br>Hola.<br><br>Tengo un problema con una actividad que estoy desarrollando pensada para ser utilizada por docentes.<br><br>La estoy programando en python con pygtk. <br>
<br>En algún momento debo hacer un bucle algo así como el siguiente.<br><br>import pygtk<br>....<br>while x<10:<br>-----x=x+1<br>-----self.nombre_de_caja_de_texto.set_text(str(x))<br><br><br>Probé también con <br><br>for x in range (0,10):<br>
-----self.nombre_de_caja_de_texto.set_text(str(x))<br><br>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.<br><br>
<br>Si sustituyo la última línea por:<br><br>-----print x<br><br>entonces no hay problema, pero no me muestra el resultado dentro de la ventana de la actividad sino en el terminal.<br><br>¿Alguien me puede dar alguna posible solución?<br>
<br>Además, no puedo cancelar ni hacer nada hasta que el programa no salga del bucle. Queda como trancado hasta que sale porque terminó.<br><br>Desde ya muchas gracias.<br><br>Saludos, Mauricio.<br><br></div></div>_______________________________________________
Olpc-uruguay mailing list
<a href="mailto:Olpc-uruguay@lists.laptop.org" target="_blank">Olpc-uruguay@lists.laptop.org</a>
<a href="http://lists.laptop.org/listinfo/olpc-uruguay" target="_blank">http://lists.laptop.org/listinfo/olpc-uruguay</a></div></div> </div></div>
<br>_______________________________________________<br>
Olpc-uruguay mailing list<br>
<a href="mailto:Olpc-uruguay@lists.laptop.org">Olpc-uruguay@lists.laptop.org</a><br>
<a href="http://lists.laptop.org/listinfo/olpc-uruguay" target="_blank">http://lists.laptop.org/listinfo/olpc-uruguay</a><br>
<br></blockquote></div><br></div>
_______________________________________________<br>Olpc-uruguay mailing list<br>Olpc-uruguay@lists.laptop.org<br>http://lists.laptop.org/listinfo/olpc-uruguay<br><br>
</blockquote><br>