[PyKDE] qt or python memory leak?
Simon Edwards
simon at simonzone.com
Sun Mar 14 12:10:01 GMT 2004
On Sun, 14 Mar 2004 01:17 am, Patrick Stinson wrote:
> why is it that the amount of memory that the following script uses does not
> remain constant?
>
> (mem usage does not change if 'WDestructiveClose'/'w.close()' are omitted)
>
> a = QApplication([])
> class W(QWidget):
> def __init__(self):
> QWidget.__init__(self, None, None, Qt.WDestructiveClose)
> while 1:
> w = W()
> w.close()
Taking a wild guess, because w.close() doesn't actually free any memory.
Apparently deleting the "this" (of "self" in python) in C++ from inside a
method is a big No-No. w.close() probably cues up w for destruction by Qt the
next time Qt enters its event loop. Your code never enters the event loop, so
your w is never fully deleted.
cheers,
--
Simon Edwards | Guarddog Firewall
simon at simonzone.com | http://www.simonzone.com/software/
Nijmegen, The Netherlands | "ZooTV? You made the right choice."
More information about the PyQt
mailing list