Philip Starkey wrote: > Josh Pieper <jjp <at> pobox.com> writes: > > Hello, I have an application that wants to repeatedly schedule > > callbacks into the QT event loop. With pyside, memory usage grows > > over time, as python doesn't appear to be able to free things up. > > objgraph shows a growing number of QTimer objects not being collected. > > With pyqt, this is not a problem, and neither is it with a C++ > > transliteration. > > > > I'm using pyside 1.2.1 on ubuntu 14.04. My demonstration application > > is below. > > > > Am I doing something wrong? > > > I just tested your example on Windows 8.0, Python 32-bit with PySide 1.2.2 > and see no memory leak. Might be worth updating to 1.2.2 just in case, > otherwise it looks to be a platform specific issue. > > I don't believe you are doing anything wrong though. The QTimer should post > an event to the Qt Event loop, and the Python function should then end and > be garbage collected (along with everything in it that Python owns). The QT > Event loop will then run the test function again. The singleShot() method of > QTimer doesn't return a reference to the QTimer created anyway, so Python > shouldn't really be holding onto any QTimer references I would have thought.
Thanks for giving it a try. I ended up working around the problem by using a signal connected to a slot with a QueuedConnection, which didn't seem to leak anything. I'll try to update to 1.2.2 at some point here and will report back if anything has changed. Regards, Josh _______________________________________________ PySide mailing list PySide@qt-project.org http://lists.qt-project.org/mailman/listinfo/pyside