我的目标是在左键单击屏幕/画布时调用一系列函数(连续),每个函数有两个参数,自动提供点击点的坐标。
我的目标是使这些顺序,而不是一次点击一次。因此,单击屏幕,调用功能1,再次单击屏幕(使用新坐标),使用提供的新坐标调用功能2等。
以下是我的尝试:
from turtle import *
def f(x, y):
goto(x, -y)
def g(x, y):
goto(-x, y)
def main():
onscreenclick(f)
onscreenclick(g)
main()
在reading through the literature开启' onclick',' onscreenclick'后,我认为这与你是否真的','假'或者'没有'第三个论点。
在尝试了各种组合之后,它只需要在第一次点击时调用所有这些组合,或者只是调用最后一个组合。
如果有人知道任何地方我可以在Python中找到更详细的鼠标点击事件说明,特别是对于Turtle图形我会非常感激。或者,如果你当然可以自己回答这个问题。
答案 0 :(得分:2)
如果您想在每次点击时使用不同的功能,请尝试以下操作:
from turtle import *
def f(x, y):
goto(x, -y)
onscreenclick(g) # what happens next time
def g(x, y):
goto(-x, y)
onscreenclick(f) # what happens next time
def main():
onscreenclick(f)
main()
mainloop()
您应该能够反复单击并查看两个功能之间交替的行为。
您对onscreenclick()
的第三个参数的理解是正确的,您可以替换现有的事件处理,或者您可以扩充它,但它没有设置交替它。