当我尝试打印或调用位置时,它表示它返回None。我该怎么做才能返回我点击的位置?
import turtle
line = turtle.Turtle()
def click_location(x,y):
line.up()
line.setpos(x,y)
line.down()
return line.pos()
location = window.onclick(click_location)
答案 0 :(得分:0)
稍作修改(添加了两行,一行更改),对我有用:
import turtle
line = turtle.Turtle()
window = turtle.Screen()
def click_location(x,y):
line.up()
line.setpos(x,y)
line.down()
#return line.pos()
print(line.pos())
location = window.onclick(click_location)
print(location)
turtle.mainloop()
答案 1 :(得分:0)
你的onclick处理程序无法返回任何内容。您可以显示x,y值,可以将全局设置为x,y值,也可以对x,y值进行操作。但你不能归还他们。
以下是显示它们的示例:
from turtle import Turtle, Screen
FONT = ('Arial', 36, 'normal')
def clicked_location(x, y):
turtle.undo() # erase previous coordinates
turtle.write((x, y), align="center", font=FONT)
turtle = Turtle(visible=False)
turtle.write(turtle.position(), align="center", font=FONT)
screen = Screen()
screen.onclick(clicked_location)
screen.mainloop()
此代码:
location = window.onclick(click_location)
将无法执行您想要的操作,因为onclick()
始终返回None
并且您找到的位置尚未发生的事件。