Как мне переместить несколько объектов одновременно на холсте Tkinter? - PullRequest
0 голосов
/ 17 января 2019

У меня есть этот код, который перемещает один из двух объектов холста Tkinter. Как мне сделать так, чтобы он перемещался одновременно с помощью 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)

1 Ответ

0 голосов
/ 17 января 2019

Это звучит как работа для тегов . Вы можете пометить ваши два объекта одинаково, а затем попросить холст переместить все объекты, помеченные таким образом:

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