在Python的Turtle中,如何在等待点击事件时暂停我的程序?

时间:2017-02-14 05:55:43

标签: python python-3.x onclick turtle-graphics

使用Python的乌龟图形,我想接受用户点击。但是,我还需要我的程序在等待点击时暂停,而不是像目前那样继续。这是我的设置:

from turtle import *
screen = getscreen()

def getInput():
    coordinates = onscreenclick(clickHandler) # Returns x and y coordinates as a list
    print(coordinates) # Prints "None" as coordinates is empty

那么如何设置暂停以便{J}仅在收到点击后才会运行?

1 个答案:

答案 0 :(得分:0)

下面的代码可以做你想要的。

turtle程序中的最后一个语句将控制权转移到等待点击和其他事件的事件循环 - 通常该语句是mainloop()done()exitonclick()之一(不适用于这种情况):

from turtle import Turtle, Screen

FONT = ("Arial", 18, "normal")

def clickHandler(x, y):
    yertle.undo()  # unwrite previous coordinates
    yertle.write((x, y), align="center", font=FONT)

yertle = Turtle(visible=False)

yertle.write((0, 0), align="center", font=FONT)

screen = Screen()

screen.onscreenclick(clickHandler)

screen.mainloop()

我没有将坐标打印到控制台,而是让它将它们写入窗口本身。