📅  最后修改于: 2023-12-03 15:05:36.045000             🧑  作者: Mango
tkinter
是Python的内置GUI库,可以用它创建窗口和各种图形用户界面元素,如按钮、文本框、画布等。canvas
(画布)是其中一种常用的元素,它可以用来绘制各种图形,如直线、矩形、圆形等。
在canvas
上绘制的元素,有时需要在之后的操作中进行删除或修改,比如动态绘制的图形或用户交互添加的元素。而这时,我们可以使用canvas
的delete
方法来移除它们。
canvas
的delete
方法canvas
的delete
方法用于删除画布上指定的元素,其语法为:
canvas.delete(tagOrId1, tagOrId2, ...)
其中tagOrId
可以是标签或标识符,或者一个或多个这些组合而成的元组或列表。如果tagOrId
未指定,则删除所有元素。
同时,它也支持一些特殊的字符串参数:
"all"
:删除所有元素;"current"
:删除鼠标当前悬停的元素;"select"
:删除鼠标当前选择的元素。下面是一个使用canvas
绘制并删除多个元素的示例代码:
from tkinter import *
# 创建窗口和画布
root = Tk()
canvas = Canvas(root, width=400, height=400)
canvas.pack()
# 绘制直线和矩形
line = canvas.create_line(10, 10, 100, 100)
rect = canvas.create_rectangle(150, 150, 250, 250, fill='red')
# 删除直线
canvas.delete(line)
# 延迟1秒后删除矩形
canvas.after(1000, lambda: canvas.delete(rect))
# 进入消息循环
root.mainloop()
在上面的代码中,我们首先创建了一个窗口和一个大小为400x400的画布,然后在画布上绘制了一条直线和一个红色矩形。接着,我们使用canvas.delete
方法移除了直线元素,延迟1秒后再移除矩形元素。最后通过root.mainloop()
进入消息循环以保持窗口一直显示。
本文介绍了如何使用tkinter
的canvas
元素绘制图形,并使用canvas.delete
方法移除画布上的元素。学会使用这些功能可以让我们更好地掌控界面的显示和交互,使程序更具交互性和动态性。