使用turtle.onclick的Python 3.0

发布于 2021-01-29 18:19:07

所以这是我的问题,我必须为我的CS课做一张照片,这在使用Turtle进行估算时确实令人沮丧。我计划使用.onclick()来显示位置。

import turtle as t
def getPos(x,y):
    print("(", x, "," ,y,")")
    return

def main():
    t.onclick(getPos)
    t.mainloop()
main()

乌龟文档似乎说onclick将在带有两个变量的函数中传递坐标。

http://docs.python.org/3.1/library/turtle.html#turtle.onclick

注意:当我单击箭头时,它可以工作,但这不是我想要的。我想单击屏幕上的其他位置以找出将箭头发送至的坐标!

任何帮助,将不胜感激。

关注者
0
被浏览
45
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    好吧,我想出了一个解决方法。它不是一个完美的解决方案,但效果很好。因为onclick仅在您单击箭头时才会响应,所以我使箭头覆盖了整个屏幕。然后我把它藏起来了。您需要做的是将鼠标悬停在您想去的位置上,按“
    a”,当它变黑时,单击屏幕。然后外壳将显示您需要的坐标。确保始终返回(1000,0)。

    import turtle as t
    
    def showTurtle():
        t.st()
        return
    
    def getPos(x,y):
        print("(", x, "," ,y,")")
        return
    
    def hideTurtle(x,y):
        t.ht()
        return
    
    def main():
        t.speed(20)
        t.shapesize(1000,1000)
        t.up()
        t.goto(1000,0)
        t.ht()
        t.onkey(showTurtle,"a")
        t.listen()
        t.onclick(getPos)
        t.onrelease(hideTurtle)
        t.mainloop()
    main()
    

    另外,如果班上有人发现这个问题,我是宾汉姆顿的CS学生,如果您使用它,我建议不要留下任何痕迹。教授已经看到并会认识到这一点。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看