[pyar] no entiendo por que se dispara una recursividad
Juan BC
jbc.develop en gmail.com
Jue Dic 13 19:14:49 ART 2012
en LeeDetalle se llama a setCurrentCell que me juego que eso dispara
nuevamente el evento y llama al slot leeDetalle
El 13 de diciembre de 2012 16:43, fagonzalez <fagonzalez en steel.com.ar>escribió:
> 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
> > >
>
>
> _______________________________________________
> 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
>
--
Juan B Cabral
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20121213/9161a479/attachment.html>
More information about the pyar
mailing list