我正在尝试创建一个程序,点击该程序将删除封闭区域中的所有对象。
这是我的示例代码:
import tkinter as tk
root = tk.Tk()
cv = tk.Canvas(root, height=400, width=400)
cv.pack()
cv.create_rectangle(50, 50, 100, 100)
cv.create_line(60, 60, 80, 80)
cv.create_line(60, 80, 80, 60)
def onclick():
todel = cv.find_enclosed(50, 50, 100, 100)
cv.delete(todel)
cv.bind("<Button-1>", onclick())
root.mainloop()
点击它应该删除矩形中的两行,但由于某种原因它不会。我怎样才能做到这一点?
答案 0 :(得分:2)
您必须将delete
应用于列表中的所有项目
for d in todel:
cv.delete(d)
或
any(map(cv.delete,todel))