📅  最后修改于: 2023-12-03 14:52:35.423000             🧑  作者: Mango
在编写 tkinter 程序时,有时需要清除画布上的所有内容,以便重新绘制画布。本文将介绍如何在 tkinter 中清除画布上的所有内容。
使用 Canvas
对象的 delete
方法可删除画布上的指定项。要删除画布上的所有内容,只需提供 ALL
参数即可。
canvas.delete(ALL)
在 Python 3.9 及以上版本中,Canvas
对象提供了 clear
方法,用于清除画布上的所有内容。
canvas.clear()
以下是一个简单的示例程序,演示了如何使用上述方法清除画布上的所有内容:
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=200, height=200)
canvas.pack()
# 绘制一个圆形
canvas.create_oval(50, 50, 150, 150, fill='red')
# 添加一个按钮,点击后清除画布上的所有内容
button = tk.Button(root, text='Clear', command=lambda: canvas.delete(ALL))
button.pack()
root.mainloop()
请注意,每次单击“Clear”按钮,都会清除画布上的所有内容,因此圆形会消失。
如果您使用的是 Python 3.9 及以上版本,可以将 canvas.delete(ALL)
替换为 canvas.clear()
。
本文介绍了在 tkinter 中清除画布上的所有内容的两种方法。您可以选择 Canvas
对象的 delete
方法或 clear
方法中的一种,具体取决于您使用的 Python 版本。如果您需要在 tkinter 程序中清除画布上的所有内容,请根据实际情况选择合适的方法。