Python龟图形中的连续onscreenclick事件

时间:2018-01-24 17:15:39

标签: python turtle-graphics

我的目标是在左键单击屏幕/画布时调用一系列函数(连续),每个函数有两个参数,自动提供点击点的坐标。

我的目标是使这些顺序,而不是一次点击一次。因此,单击屏幕,调用功能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图形我会非常感激。或者,如果你当然可以自己回答这个问题。

1 个答案:

答案 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()的第三个参数的理解是正确的,您可以替换现有的事件处理,或者您可以扩充它,但它没有设置交替它。