📜  如何在 tkinter\ 中更新绘图 - Python (1)

📅  最后修改于: 2023-12-03 14:52:35.465000             🧑  作者: Mango

如何在 tkinter 中更新绘图 - Python

简介

在使用 tkinter 绘制图形时,有时需要动态更新绘图,以显示实时数据、动态图像等。本文将介绍如何在 tkinter 中更新绘图。

更新绘图的方法
方法一:使用 Canvas.delete() 方法

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

在上面的例子中,当用户点击按钮时,会删除之前的红色矩形,再绘制新的蓝色矩形。

方法二:使用 Canvas.coords() 方法

在 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 中动态更新绘图。具体使用哪种方法,要根据具体项目的需求来决定。