我正在尝试在 raspbian 上创建一个 tkinter (python 3) 应用程序,但不会重复绘图

I'm trying to create a tkinter (python 3) application on raspbian, but won't repeat drawing

我的代码如下;它应该重复绘制随机颜色和大小的圆圈,但只绘制一个。我尝试了 mainloop() 和 window1.update() 的无数组合,但总是遇到同样的问题。

#!/usr/bin/env python3
from tkinter import *
from random import *
WIDTH = 1024/2
HEIGHT = 720/2
window1 = Tk()
c1 = Canvas(window1, width=WIDTH, height=HEIGHT, bg='#FFFFFF')
c1.pack()
colours = ('#FF0000', '#00FF00', '#0000FF', '#FFFF00', '#FF00FF')
while 3 == 3:
    colchose = choice(colours)
    x0 = randint(0, WIDTH)
    y0 = randint(0, HEIGHT)
    c1.create_oval(x0, y0, x0+d, y0+d, fill=colchose)
    mainloop()

问题出在最后一行的 mainloop() 调用上。一旦整个程序终止,此调用将结束。
我建议您查看 Python 的 threading facilities。您可以创建另一个线程,在主循环执行时使用 canvas。