Michael Torrie: > On 09/07/2014 01:11 PM, kjs wrote: >> Thanks for the advice. I commented out the graph generation and PyQt call >> >>>>> self.app.processEvents() >> >> where in the class __init__ >> >>>>> self.app = QtGui.QApplication(sys.argv) >> >> This stopped the weakref proliferation. All other objects grow and >> shrink in number as expected. > > Can you make an absolute minimal example with no widgets save the graph > itself? You could then go to the PyQt folks with that. Could be a bug, > or could be an improper use of something by your code. This is one of > the problems with using Qt in other languages: it's not a perfect fit > for Python's object model as it is C++-based. So you have to think like > a C++ programmer, and you might have to manage some resources manually, > unlike normal Python objects which for the most part take care of > themselves. >
The code is minimal[0]. The only other widgets are a start button that fires off the plotting and a stop button that calls sys.exit(). Lines 112-114 appear to be causing the weakref proliferation. I do not doubt that I could be using PyQt4 incorrectly. I'll send a message to the pyqt mailing list as well. > Also you could try a minimal example using PySide instead of PyQt and > see if that also manifests the leak. If so, then the problem could be > in Qt itself. Though I suspect the problem is some kind of impedance > mismatch between C++ and Python. > Thanks much, Kevin [0] https://github.com/kevinjos/kaggle-aes-seizure-prediction/blob/master/explore.py
0x8A61431E.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature
-- https://mail.python.org/mailman/listinfo/python-list