I originally posted this on stackoverflow[1], where I learned that this seems to be a bug in PyQt 4.8.6. (I'm using Qt 4.7.4 if that's relevant.)
Basically, the __del__ method of the central widget of a window is never called. Example: #!/usr/bin/env python from PyQt4 import QtGui class Preview(QtGui.QWidget): def __init__(self, parent): QtGui.QWidget.__init__(self, parent) def __del__(self): print("Deleting Preview") class PreviewWindow(QtGui.QMainWindow): def __init__(self): QtGui.QMainWindow.__init__(self) self.widget = Preview(self) self.setCentralWidget(self.widget) def __del__(self): print("Deleting PreviewWindow") if __name__ == "__main__": app = QtGui.QApplication(["Dimension Preview"]) window = PreviewWindow() window.show() app.exec() # del window If I uncomment the "del window" line, "Deleting Preview" prints as expected. Otherwise, I just see "Deleting PreviewWindow". Apparently pyqt 4.8.5 works correctly. [1] http://stackoverflow.com/questions/7988578/qwidget-not-deleted-with-parent-window -- Tavian Barnes _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt