Hi,
I think I have discovered a bug in PyQt.
QGraphicsScene.setStyle() does not move ownership of the style to C++, but Qt
reparents the style to the scene and deletes it at exit, which causes a
segmentation fault if the python interpreter tries to delete it as well.
See the attachment for a minimal sample.
I believe line 314 of sip/qgraphicsscene.sip is to blame:
%If (Qt_4_4_0 -)
void setStyle(QStyle *);
%End
I did not delve deeply into sip, but I think a /Transfer/ annotation is
missing.
My PyQt4 version: 4.7.3-1ubuntu2~lucid1~ppa2 from the kubuntu beta ppa, I did
not check if the issue still remains with more current versions.
Max
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
a = QApplication(sys.argv)
scene = QGraphicsScene()
style = QStyleFactory.create('Plastique')
scene.setStyle(style)
_______________________________________________
PyQt mailing list [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt