Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PyQt: утечка памяти в QTabWidget 
:(
    Опции темы
SkyRzn
  Дата 7.9.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 10.5.2008

Репутация: нет
Всего: нет



QTabWidget не удаляет добавленные виджеты при выполнени removeTab. В доках про это сказано, что так и должно быть, однако в питоне сборщик мусора удаляет объект только когда будут удалены все ссылки на этот объект. Как видно из примера, экземпляр класса QTabWidget продолжает ссылаться на добавленный виджет после его удаления. Как же тогда избавиться от утечки памяти при многократном добавлении/удалении табов?

Код

tabWidget = QTabWidget(self)

widget = QWidget()
print 1, gc.get_referrers(widget)

tabWidget.addTab(widget, 'test')
print 2, gc.get_referrers(widget)

tabWidget.removeTab(0)                
print 3, gc.get_referrers(widget)


А вот, что у нас на выходе:
Код

1 [<frame object at 0x2134230>]
2 [<frame object at 0x2134230>, <PyQt4.QtGui.QTabWidget object at 0x1ec0f30>]
3 [<frame object at 0x2134230>, <PyQt4.QtGui.QTabWidget object at 0x1ec0f30>]


Так что это, баг Qt'а?


Это сообщение отредактировал(а) SkyRzn - 7.9.2010, 13:13
PM MAIL   Вверх
dpxaker
Дата 17.12.2010, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 16.12.2010

Репутация: нет
Всего: нет



Скорее всего, это баг связки Qt+Python...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Разработка GUI | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.