[pyar] no entiendo por que se dispara una recursividad

fagonzalez fagonzalez en steel.com.ar
Jue Dic 13 16:43:53 ART 2012


Si tenes razón. A seguir pensando

Gracias y un abrazo

Fer

-----Original Message-----
From: Martin Chikilian <slacklinucs en gmail.com>
To: Python Argentina <pyar en python.org.ar>
Date: Thu, 13 Dec 2012 16:35:53 -0300
Subject: Re: [pyar] no entiendo por que se dispara una recursividad

> Hola,
> 
> A priori intentaría comentar la línea que conecta la cellChanged
> signal con
> LeeDetalle, me parece
> que por ahí viene la recursividad.
> 
> La línea es la siguiente:
> 
> self.connect(self.tbwDetalle,
>                          QtCore.SIGNAL("cellChanged(int, int)"),
>                          self.LeeDetalle)
> 
> Si es eso vas a tener que buscar otra manera de manejar la lógica que
> querés implementar.
> 
> Saludos
> 
> 2012/12/13 fagonzalez <fagonzalez en steel.com.ar>
> 
> > Hola a todos, tengo el siguiente modulo, el que permitiria carga una
> > factura de venta o compra
> > hasta ahora todo mas o menos bien, peor a la hora de ingresar el
> detalle
> > de la factura (articulos vendidos o comprados) se desata un
> recursividad
> > que no entiendo, a continuación el código:
> >
> > from PyQt4 import QtGui, QtCore
> > import frmVentas
> > import ctrlBuscarArt
> > import ctrlBuscarCli
> > from general import *
> > import datetime
> > import sqlite3
> >
> > class fichaVentas(QtGui.QDialog, frmVentas.Ui_frmVentas):
> >
> >     setup = []
> >     tbwFila = 0
> >
> >     def __init__(self, parent=None):
> >         self.cBArt = ctrlBuscarArt.ctrlBArticulos()
> >         self.cBArt.connect(self.cBArt,
> >                            QtCore.SIGNAL("datovalido"),
> >                            self.artValido)
> >         self.setWindowTitle("Registar factura de venta")
> >         .
> >         .
> >         .
> >         self.connect(self.tbwDetalle,
> >                          QtCore.SIGNAL("cellChanged(int, int)"),
> >                          self.LeeDetalle)
> >
> >     def LeeDetalle(self, fila, col):
> >         Dato = self.tbwDetalle.item(fila, col).text()
> >         self.tbwFila = fila
> >         if col == 0:        #codiogo
> >             if self.tbwDetalle.item(fila, 0).text() == ' ':
> >                 #me posiciono en la columna 1, quiero buscar el
> articulo
> > por nombre
> >                 self.tbwDetalle.setCurrentCell(fila, 1)
> >             else:
> >                 self.MuestraDetalle(Dato)
> >                 return
> >         elif col == 1:      #descripcion
> >             self.BuscaArticulo(Dato)
> >         elif col == 2:      #cantidad
> >             pass
> >         elif col == 3:      #bonificacion
> >             pass
> >         elif col == 4:      #precio unitario
> >             pass
> >
> >
> >      def MuestraDetalle(self, Id):
> >         #punto A
> >         self.cnn = sqlite3.connect("c:\gestion\gestion.db")
> >         query = self.cnn.cursor()
> >         query.execute("SELECT * FROM articulos " +
> >                             "WHERE articulos_id = %s" % str(Id))
> >         r = query.fetchone()
> >         #muestro el articulo en la fila de la grilla de detalle
> >         #codigo articulo
> >  a)     item = QtGui.QTableWidgetItem(r[0])
> >         item.setTextAlignment(2)
> >         campo = str(r[0])
> >         item.setText(str(campo))
> >  1)     self.tbwDetalle.setItem(self.tbwFila, 0, item)
> >         #descripcion
> >         item1 = QtGui.QTableWidgetItem(r[1])
> >         item1.setTextAlignment(1)
> >         campo = str(r[1])
> >         item1.setText(campo)
> >         self.tbwDetalle.setItem(self.tbwFila, 1, item1)
> >         #precio unitario
> >         item2 = QtGui.QTableWidgetItem(r[5])
> >         item2.setTextAlignment(2)
> >         campo = str(r[5])
> >         item2.setText(campo)
> >         self.tbwDetalle.setItem(self.tbwFila, 4, item2)
> >         #muevo el cursor a la celda cantidad
> >         self.tbwDetalle.setCurrentCell(self.tbwFila, 2)
> >
> > el bucle se arma a partir de 1), el codigo desde a) hasta 1), lo uso
> en
> > otras tablewidget sin este problemam alguien ve algo que esta mal?
> >
> > agrego que el bucle se repite tantas veces como registros hay en la
> tabla
> > articulos, y se muestra cBArt, instancia de
> > ctrlBuscarArt.ctrlBArticulos(), que es una ventana que permite buscar
> en
> > la tabla de articulos.
> >
> > desde ya gracias
> >
> > Fernando
> >
> >
> > _______________________________________________
> > 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/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
> de
> > Argentina - http://www.usla.org.ar
> >





More information about the pyar mailing list