In my application the main interface is based on tabs. The problem is that when I open a new tab I see memory increase but it does not decrease when I close the tab.
I've been looking at this and I try to remove the widget from the QTabWidget. Set its parent to None and remove its reference. The code looks like this: wid = self.tabWidget.widget(tab) self.tabWidget.removeTab( tab ) wid.setParent( None ) del wid import gc gc.collect() But that doesn't work. If I print gc.get_referrers( wid ) just before "del wid" I get something like this the list below. There, "Koo.Dialogs.FormWidget.FormWidget" is the widget in the tab (wid), so it seems the only objects referring to the widget are the reference itself (wid) and the methods it has. Does anybody know why I don't see memory being freed? <frame object at 0xb53360c> <bound method FormWidget.autoReload of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.showLogs of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.showAttachments of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.goto of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.duplicate of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.next of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.reload of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.switchView of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.export of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.import_ of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.massiveUpdate of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.new of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.save of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.search of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.previous of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> <bound method FormWidget.remove of <Koo.Dialogs.FormWidget.FormWidget object at 0xa4b09ac>> -- Albert Cervera i Areny http://www.NaN-tic.com _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt