[PyQt] Segfault with QString
Filip Gruszczyński
gruszczy at gmail.com
Sat Mar 15 15:00:16 GMT 2008
First I would like to say hello to everyone here, since it's my first mail.
I have certain problem with QString, which tend to crash my program,
when casted to a string. I have following code:
class Element(QObject):
def __init__(self, name, content = None, value = None):
QObject.__init__(self)
self.__name = name
self.__content = content
self.__value = value
def getValue(self):
return self.__value
def setValue(self, value):
self.__value = value
def getName(self):
return self.__name
def hasContent(self):
return self.__content != None
def getContent(self):
return self.__content
def setContent(self, content):
self.__content = content
class Attribute(Element):
def __init__(self, name, content):
Element.__init__(self, name, content)
def isFinal(self):
return True
def getValues(self):
return self.getContent().getValues()
def __repr__(self):
return str(self.getName()) + " " + str(self.getValue()) + "\n"
And in some other place:
self.connect(box, SIGNAL('currentIndexChanged(QString)'), attribute.setValue);
This works perfect, untial I call print on Attribute object, then the
program crashes.
However, If I change code to:
def setValue(self, value):
self.__value = str(value)
which is basically moving cast to some earlier point, everything works
fine. Anyone has any idea, why this is wrong? Though it's already
working, I would like to know, why it didn't with previous version.
--
Filip Gruszczyński
More information about the PyQt
mailing list