Объясните, пожалуйста, чего я неправильно делаю. Простейший пример:
Запускаю, после удаления линий память не освобождается.
#####################
from Tkinter import *
from Canvas import Line
import gc
class My(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.cv=Canvas(self, width=400, height=300)
self.cv.pack()
Button(self, command=self.cleanall, text="clean").pack(fill=X)
Button(self, command=self.addline, text="add").pack(fill=X)
self.pack()
self.x=10
self.y=10
self.l=[]
def addline(self):
for j in range(1000):
self.l.append(Line(self.cv, self.x, self.y, self.x+200, self.y, tag="line"))
self.y=self.y+20
def cleanall(self):
map(self.cv.delete, self.cv.find_withtag("line"))
self.x=10
self.y=10
for j in self.l:
del(j)
gc.collect()
root=Tk()
gc.enable()
a=My(root)
root.mainloop()
############################


Ответ на:
комментарий
от kosmonavt

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Tkinter (theme) (2015)
- Форум Tkinter - не пойму в какой момент виджет был размещен в окне (2023)
- Форум Как в Python & tkinter при использовании MVC создать главное окно программы? (2017)
- Форум tkinter виджет Frame (2014)
- Форум Текстовое поле Tkinter (2013)
- Форум Tkinter - overrideredirect (2005)
- Форум python tkinter вопрос по canvas (2009)
- Форум Python (2008)
- Форум Сконвертить данные класса Python3 в строку INSERT для Postgree (2020)
- Форум Вытащить import'ы из .py файла (2018)