tkiner canvas怎么判断 图形已经存在?
时间: 2023-06-17 15:02:17 浏览: 77
在Tkinter的Canvas中,每个图形都有一个唯一的ID,可以使用canvas.find_all()方法获取所有现有的图形ID。如果您想检查特定的图形是否存在,可以使用canvas.find_withtag()方法,该方法可以返回具有指定标记的所有图形的ID。如果找不到具有指定标记的图形,则返回一个空元组。下面是一个示例代码:
```
# 导入Tkinter模块
import tkinter as tk
# 创建一个Canvas对象
canvas = tk.Canvas(width=400, height=400)
canvas.pack()
# 在Canvas上创建一个矩形
rectangle = canvas.create_rectangle(10, 10, 100, 100, fill='red', tags='my_rect')
# 判断矩形是否存在
if rectangle in canvas.find_all():
print("矩形存在")
# 判断具有'tag'标记的图形是否存在
if canvas.find_withtag('my_rect'):
print("具有'my_rect'标记的图形存在")
```
在上面的代码中,我们首先在Canvas上创建了一个矩形,并将其标记为'my_rect'。然后,我们使用canvas.find_all()方法检查所有现有的图形,如果矩形的ID在其中,就说明矩形存在。接下来,我们使用canvas.find_withtag()方法检查具有'my_rect'标记的图形是否存在。如果存在,就说明我们的矩形存在。