У меня тут еще вопрос возник.
Допустим, есть класс ААА. Один из его методов (назовем ххх) порождает объекты класса ВВВ. Другой метод (назовем ууу) класса ААА периодически (по таймеру) обновляет некоторые переменные объектов класса ВВВ, созданных методом ххх.
Таким образом, в класе ААА должен быть список LLL, содержащий все объекты класса ВВВ, так?
Теперь. Объекты класса ВВВ должны уничтожаться из методов класса ААА и, что самое главное, из собственных методов. Класс ВВВ - это гтк-окно, которое получает сигналы, в частности о закрытии. Так вот, когда к объекту класса ВВВ приходит такой сигнал (т.е. вызывается соответствующий метод), как ему (объекту) удалить самого себя из списка LLL, содержащегося в ААА?
Короче, класс ААА открывает окно (класс ВВВ). И содержит список всех этих окон (объектов). Когда окно закрывается, надо удалить оное из списка и высвободить память.
Как это сделать?
Python. Удаление объектов из списка при удалении объектов (отрезано от "python")
Модератор: Модераторы разделов
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
-
Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Python. Удаление объектов из списка при удалении объектов
i Уведомление от модератора
У нас правило: один вопрос - одна тема. Отрезаю.
Вроде ясно, что значит в объектах BBB тоже должна быть ссылка на породивший их объект AAA. Что-то такое:
Код: Выделить всё
def on_close(self,...):
self.parent_aaa.bbb_list.delete(self)Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Python. Удаление объектов из списка при удалении объектов
Спасибо, я так и думал. Просто это мне показалось "костыльным" вариантом.