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

Reply via email to