[pyar] problema con sleep

Esteban Alejandro Chauque achauque en gmail.com
Vie Feb 4 11:44:03 ART 2011


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/
>



More information about the pyar mailing list