[pyar] no entiendo por que se dispara una recursividad
Martin Chikilian
slacklinucs en gmail.com
Jue Dic 13 16:35:53 ART 2012
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
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20121213/0295f32e/attachment.html>
More information about the pyar
mailing list