Re: python: core dumped.. ¿manejo de excepciones?

Claudio A. Quezada R. claudio.quezada.r en gmail.com
Lun Ago 20 18:42:29 CEST 2007


Hola,

Si, había hecho varias pruebas como las que mencionas, pero al parecer
el problema si era de mi código, le incorporé dos flags:

biometria.item(k,0).setFlags(QtCore.Qt.ItemIsSelectable|QtCore.Qt.ItemIsEnabled)


Previo al set item ( biometria.setItem(k,0,item) ), y ahora no falla.

Saludos,

El 15/08/07, Chema Cortes <pych3m4 en gmail.com> escribió:
> El 13/08/07, Claudio A. Quezada R. <claudio.quezada.r en gmail.com> escribió:
>
> > Ahora, el asunto es que si yo "hecho a andar" el método, por primera
> > vez, funciona de perillas. El error se produce a la segunda ocasión
> > que lo llamo, en la que ya hay contenido en la grillaBiometria. Hay
> > otros métodos para eliminar filas, eliminar el contenido de las
> > celdas, uno para destruir el widget y varios más. Los he probado todos
> > y en algún momento me dan problemas (especialmente si itero con 10000
> > o 15000 individuos)... Entonces por lo que me he dado cuenta el asunto
> > no es al llenar la grillaBiometria por primera vez, sino, al
> > reemplazar el contenido, al destruirlo, o algo por el estilo en el
> > setItem(row,column,item)...
>
> Umm!! Entonces el asunto puede ser más chungo. Estás hablando de miles
> de objetos que se crean y se destruyen. Es muy posible que no se haga
> bien, que queden referencias a objetos inválidas, o que éstos nunca se
> destruyan ocupando la memoria inútilmente.
>
> Cuando creas una instancia en PyQt se crean tres objetos: el de C++
> (qt), el wrapper de la librería SIP y el objeto python (pyqt). El
> responsable de que todo funcione sincronizadamente es SIP; pero hay
> reportados problemas como el que comentas, así que añade a tus tareas
> el cambiar a otras versiones de pyqt y sip (prueba con versiones
> anteriores a la que está usando).
>
> De todos modos, haz la prueba de no destruir widgets en la segunda
> llamada al método. Por ejemplo, no llames al .clearContents() a ver si
> funciona ahora. Si lo hace, entonces el problema puede que no sea de
> tu código.
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>


-- 
Claudio Quezada Romegialli
Ingeniero Ambiental
(02)7321665 - 81466049




Más información sobre la lista de distribución Python-es