我不是一个真正的高级程序员,但我通常知道如何在Python上编写我想要的代码,但我不习惯Tkinter。 我用的时候有问题
基本上,我想要一条线逐渐向点击的像素移动,有一个特定的步骤。我希望它每100米移动一次。这是我的密码:
from tkinter import *
from time import *
Fen=Tk()
def clic(event,i=0):
global x0
global y0
step=10
x0=x0+(event.x-x0)/step
y0=y0+(event.y-y0)/step
zone.coords(J,x0,y0-20,x0,y0+20)
if i!=step:
zone.after(100,clic(event,i+1))
zone=Canvas(Fen,width=800,height=500)
zone.pack()
x0=400
y0=250
J=zone.create_line(x0,y0-20,x0,y0+20,width=2)
zone.bind("<Button-3>",clic)
Fen.mainloop()
但是一旦我右击画布上的某个地方,程序就会冻结1秒(对应于步长*100ms),然后行出现在最后的位置,即我单击的位置。我不明白为什么程序似乎忽略了线路的“路线”
我希望我说得够清楚, 谢谢你的帮助
您需要跟踪移动,以便根据单击的坐标进行计算,以便能够一步一步地向它们移动
您还需要确定函数是在鼠标事件之后调用的,还是通过
after
调用的,以便知道如何处理传递的事件相关问题 更多 >
编程相关推荐