Alexey Vihorev wrote: > Ok, let's get less abstract. I got a QTableModel that has to free up some > external resources upon its destruction (rollback/close a DB transaction). > In this particular case It's parent is QMdiSubWindow with > self.setAttribute(QtCore.Qt.WA_DeleteOnClose), but that is not necessary - > it can be used inside complex widgets, etc. The code is trivial, but does > not work: > > class MyModel(QAbstractTableModel): > > def onDestroy(self): > #Do some housekeeping > > def __init__(self, entity_cls, parent=None, load=True, criteria=None): > ... > self.destroyed.connect(self.onDestroy) > ...
Whether or not onDestroy is called in this is entirely dependent on whether they are object references to your instance of MyModel somewhere else in your code. It may well be that the parent is holding onto a reference after it's closed for some reason (or some other code is), but it would be hard to verify this without a complete functional example (preferably something pared down as much as possible but still exhibiting the issue). - Stephan _______________________________________________ PySide mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/pyside
