Python / Tkinter - 删除封闭区域中的所有对象

时间:2016-08-18 12:30:23

标签: python canvas tkinter

我正在尝试创建一个程序,点击该程序将删除封闭区域中的所有对象。

这是我的示例代码:

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()

点击它应该删除矩形中的两行,但由于某种原因它不会。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

您必须将delete应用于列表中的所有项目

for d in todel:
    cv.delete(d)

any(map(cv.delete,todel))