• Python Мдааа... Только я мог в питоне допустить утечку памяти. Никто не знает, как получить все ссылки на объект? Судя по всему, кто-то продолжает ссылаться и не дает сборщику мусора этот объект удалить. Гугл что-то молчит.

  • import gc
    print gc.get_referrers(your_obj)
  • @Kxepal, а вообще, раз такие проблемы, попробуй делать слабые ссылки
  • @Kxepal, Спасибо! Буду разбираться.
  • @Kxepal, Хммм... Интересно, QTabWidget не удаляет добавленные виджеты при выполнени removeTab. Так и в доках сказано. Как же тогда избавиться от утечки памяти при многократном добавлении/удалении табов?

    Код:
    widget = QWidget()
    print gc.get_referrers(widget)
    self.tabWidget.addTab(widget, 'test')
    print gc.get_referrers(widget)
    self.tabWidget.removeTab(0)
    print gc.get_referrers(widget)

    Вывод:
    [<frame object at 0x2134230>]
    [<frame object at 0x2134230>, <PyQt4.QtGui.QTabWidget object at 0x1ec0f30>]
    [<frame object at 0x2134230>, <PyQt4.QtGui.QTabWidget object at 0x1ec0f30>]