It seems that QScrollview leaks references to its children. Here's an
example:
from qt import *
class MyVBox(QVBox):
def __del__(self):
print 'del MyVBox'
def __init__(self, parent=None):
QVBox.__init__(self, parent)
class MyScrollView(QScrollView):
def __del__(self):
print 'del MyScrollView'
def __init__(self):
QScrollView.__init__(self)
vbox = MyVBox(self.viewport())
self.addChild(vbox)
for i in range(1,21): QLabel('Label %d' % i, vbox)
import sys
app = QApplication(sys.argv)
app.connect(app, SIGNAL("lastWindowClosed()"), app.quit)
ui = MyScrollView()
ui.show()
app.exec_loop()
When you quit the app, MyScrollView gets destroyed, but MyLabel does
not. Strangely, if you omit the parent when constructing the vbox, the
leak goes away. This may be an OK workaround, but it is nonstandard Qt
practice and it also means that you cannot place widgets that require a
parent (such as a label) in a scrollview.
Brent Burley
_______________________________________________
PyKDE mailing list [EMAIL PROTECTED]
http://mats.gmd.de/mailman/listinfo/pykde