[pyar] problema con sleep

Joaquin Sorianello soriasoft en gmail.com
Vie Feb 4 12:00:06 ART 2011


2011/2/4 Esteban Alejandro Chauque <achauque en gmail.com>:
> Disculpas, si es una aplicación de escritorio.
>
>
> #!/usr/bin/env python
> import pygtk
> pygtk.require("2.0")
> import gtk
>
> import pymssql
> from pyMySQLFunctions import pyMySQLFunctions
>
> import time
> import gtk, gobject
> import threading
>
> gobject.threads_init()
> class mainWindow(threading.Thread):
>    def __init__(self, GUIFile):
>        super(mainWindow, self).__init__()
>        self.builder = gtk.Builder()
>        self.builder.add_from_file(GUIFile)
>        self.window = self.builder.get_object('mainWindow')
>        #self.window.fullscreen()
>        self.window.show_all()
>        self.builder.connect_signals(self)
>        self.my = pyMySQLFunctions()
>        self.arrInfo = None
>        self.nMaquinas = 14
>        self.listsProducts = gtk.ListStore(int, str, str, str, str,
> str, str, str, str, str, str, str, str, str, str, str)
>
>    def charge_list_info (self, data=None):
>        self.my.setString("spTableroOnLine")
>        self.arrInfo = self.my.dbData2Lists()
>        y = 1
>        for data in self.arrInfo:
>            self.builder.get_object('lblMq%s'%y).set_label(data[2])
>            self.builder.get_object('lblInf%s'%y).set_label(data[3] +
> ' ' + data[4] + chr(13) + data[10])
>            y = y + 1
>            if y > 5:
>                y = 1
>                time.sleep(1)
>
>
>    def quit(self, data=None):
>        gtk.main_quit()
>
> if __name__ == '__main__':
>    main = mainWindow("mainWindow.glade")
>    main.charge_list_info()
>    gtk.main()
>
>
> El día 4 de febrero de 2011 09:37, Joaquin Sorianello
> <soriasoft en gmail.com> escribió:
>> 2011/2/4 Esteban Alejandro Chauque <achauque en gmail.com>:
>>> Buen día, tengo el siguiente código que al parecer no esta actuando de
>>> forma adecuada. Aplica siempre el time.sleep, sin importar la
>>> condición de y > 5. Yo necesito mostrar los 5 primeros resultados y
>>> luego los próximos 5 y así sucesivamente hasta terminar de recorrer el
>>> array, pero me realiza todas las esperas y al final me muestra los
>>> últimos resultados
>>> Alguien se le ocurre que puede estar mal?
>>>
>>>    def charge_list_info (self, data=None):
>>>        self.my.setString("spTableroOnLine")
>>>        self.arrInfo = self.my.dbData2Lists()
>>>        y = 1
>>>        for data in self.arrInfo:
>>>            self.builder.get_object('lblMq%s'%y).set_label(data[2])
>>>            self.builder.get_object('lblInf%s'%y).set_label(data[3] +
>>> ' ' + data[4] + chr(13) + data[10])
>>>            y = y + 1
>>>            if y > 5:
>>>                y = 1
>>>                time.sleep(2)
>>
>> Un poco de contexto.... es una app de escritorio?? web???
>>
>> Opción 1 --> pensa en el main loop
>>
>> while True:
>>    redibujo pantalla
>>    if x.evento: foo.charge_list_info(parametros)
>>
>> Opcion 2 --> La aplicacion "vuelca la salida al terminar el procesamiento"
>>
>> Quizas le pifio, pero creo que la mano viene por ahi...
>>
>> --
>> Joaquín Sorianello
>>
>> Sea libre, use software libre
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>


entonces estas mezclando manzanas con raticida.... no uses sleep en
apps graficas!

-- 
Joaquín Sorianello

Sea libre, use software libre



More information about the pyar mailing list