如何在 Tkinter canvas 上一次移动多个对象?

How do I move multiple objects at once on a Tkinter canvas?

我有这段代码,它移动了两个 Tkinter Canvas 对象之一。如何使用 canvas.move() 使其同时移动?

canvas.create_oval(100, 105, 150, 150, fill = 'light blue', outline = 'green')
canvas.create_oval(200, 205, 150, 150, fill = 'light blue', outline = 'green')

tkinter.update()

for x in range (1, 100):
    canvas.move(1, 5, 0)
    tkinter.update()
    time.sleep(0.05)

这听起来像是 tags 的工作。您可以类似地标记您的两个对象,然后要求 canvas 移动所有以这种方式标记的对象:

import tkinter as tk
import time

root = tk.Tk()

canvas = tk.Canvas(root)
canvas.pack()

canvas.create_oval(100, 105, 150, 150, tags="Bob", fill='light blue', outline='green')
canvas.create_oval(200, 205, 150, 150, tags="Bob", fill='light blue', outline='green')

for _ in range(50):
    canvas.move("Bob", 5, 0)
    canvas.update()
    time.sleep(0.05)

root.mainloop()