我试图让球转到屏幕的一侧转身,然后回来。每当我尝试运行这个程序时,tkinter窗口都不显示,但当我摆脱睡眠(0.5)部分时,它会在球已经离开屏幕时显示出来。有人能说出我做错了吗?
from tkinter import *
from time import sleep
window = Tk()
cWidth = 800
cHeight = 500
c = Canvas(window, width = cWidth, height = cHeight, bg='black')
c.pack()
x = 400
y = 250
ball = c.create_polygon(x, y, x, y+25, x+25, y+25, x+25,y, fill='yellow')
Ball_move = 10
for i in range(200):
c.move(ball, Ball_move, 0)
window.update
x += Ball_move
if x == cWidth:
Ball_move = -Ball_move
sleep(0.5)
window.mainloop()
答案 0 :(得分:0)
在Windows中,只有在调用mainloop()之后才显示Tkinter框架。在您的情况下,for循环可能会阻止它。将for循环保留在函数中,然后使用线程调用该函数,以便它不会阻止主循环。