【发布时间】:2019-11-04 08:10:27
【问题描述】:
我正在使用 .after 来调用在我的 GUI 内移动图像的函数。当我运行代码并调用函数“myFunc”时,图像确实会移动,但它会立即发生。它应该逐渐在屏幕上移动。我不确定为什么会这样。
def movRight():
global img
global imgx
canvas.move(imgx,20,0)
return
def myFunc():
moveController(1,20)
return
def moveController(extruder, position):
global e1current
global e2current
global e3current
global e4current
if extruder == 1:
while position > e1current:
print("moving")
e1current+=1
main.after(500,movRight)
return
【问题讨论】:
-
您正在同时调度
movRight()(其中position - e1current)的所有实例;所有这些都在 500 毫秒后快速连续发生。你需要做的是调用movRight()一次,如果没有到达最终位置,让它安排另一个调用自己。
标签: python python-3.x tkinter