[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