從類中刪除畫布對象時出現問題。從類中刪除畫布對象的問題
我創建了一個名爲f
的類型爲Rectangle
的對象。然後我需要刪除這個對象。 Python會刪除f
,但不會刪除Frame上的畫布對象。我不知道問題在哪裏。
from tkinter import *
class Rectangle():
def __init__(self, coords, color):
self.coords = coords
self.color = color
def __del__(self):
print("In DELETE")
del self
print("Goodbye")
def draw(self, canvas):
"""Draw the rectangle on a Tk Canvas."""
print("In draw ")
print("Canvas = ",canvas)
print("self = ",self)
print("bild canvas = ",canvas.create_rectangle(*self.coords, fill=self.color))
root = Tk()
root.title('Basic Tkinter straight line')
w = Canvas(root, width=500, height=500)
f = []
f = Rectangle((0+30*10, 0+30*10, 100+30*10, 100+30*10), "yellow")
print("Draw object", f.draw(w), f)
f.__del__()
del f
w.pack()
mainloop()
畫布對象被分配給引用w。那是你想要刪除的嗎? –
是的,如果我做w.delete(f)什麼都沒發生 – user1939965