📅  最后修改于: 2023-12-03 14:52:35.465000             🧑  作者: Mango
在使用 tkinter 绘制图形时,有时需要动态更新绘图,以显示实时数据、动态图像等。本文将介绍如何在 tkinter 中更新绘图。
在 tkinter 的 Canvas 控件中,可以先删除之前的绘图,再绘制新的图形。下面是一个例子:
from tkinter import *
root = Tk()
canvas = Canvas(root, width=300, height=200)
canvas.pack()
rect = canvas.create_rectangle(50, 50, 100, 100, fill='red')
def change_color():
canvas.delete(rect)
rect_new = canvas.create_rectangle(50, 50, 100, 100, fill='blue')
button = Button(root, text='Change color', command=change_color)
button.pack()
root.mainloop()
在上面的例子中,当用户点击按钮时,会删除之前的红色矩形,再绘制新的蓝色矩形。
在 tkinter 的 Canvas 控件中,也可以直接修改已有元素的坐标,以更新绘图。下面是一个例子:
from tkinter import *
root = Tk()
canvas = Canvas(root, width=300, height=200)
canvas.pack()
x = 50
y = 50
rect = canvas.create_rectangle(x, y, x+50, y+50, fill='red')
def move_rect():
global x, y
x += 10
y += 10
canvas.coords(rect, x, y, x+50, y+50)
button = Button(root, text='Move rectangle', command=move_rect)
button.pack()
root.mainloop()
在上面的例子中,当用户点击按钮时,会修改矩形的坐标,使矩形向右下方移动。
使用 Canvas.delete() 方法和 Canvas.coords() 方法都可以实现在 tkinter 中动态更新绘图。具体使用哪种方法,要根据具体项目的需求来决定。