使用turtle.onclick的Python 3.0

使用turtle.onclick的Python 3.0,python,onclick,coordinates,turtle-graphics,Python,Onclick,Coordinates,Turtle Graphics,所以这是我的问题,我必须为我的CS课程制作一张图片,这真的很令人沮丧。我计划使用.onclick()来显示位置 import turtle as t def getPos(x,y): print("(", x, "," ,y,")") return def main(): t.onclick(getPos) t.mainloop() main() 海龟文档似乎说onclick将在一个包含两个变量的函数中传递坐标 注意:当我点击箭头时它会工作,但这不是我想要的

所以这是我的问题,我必须为我的CS课程制作一张图片,这真的很令人沮丧。我计划使用.onclick()来显示位置

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

def main():
    t.onclick(getPos)
    t.mainloop()
main()
海龟文档似乎说onclick将在一个包含两个变量的函数中传递坐标

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


任何帮助都将不胜感激

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


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

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


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

这是一项了不起的工作,你可以自己找到解决方案

你看过海龟的文档吗

看起来您可以从模块导入
屏幕
以及
海龟
screen
有一个自己的
onclick
事件,它完成了您期望的操作

注意以下关于如何访问
屏幕
对象的行:

The function Screen() returns a singleton object of a TurtleScreen subclass.
This function should be used when turtle is used as a standalone tool for
doing graphics. As a singleton object, inheriting from its class is not
possible.

免责声明:我以前从未使用过turtle。

这是一项了不起的工作,可以自己找到解决方案

你看过海龟的文档吗

看起来您可以从模块导入
屏幕
以及
海龟
screen
有一个自己的
onclick
事件,它完成了您期望的操作

注意以下关于如何访问
屏幕
对象的行:

The function Screen() returns a singleton object of a TurtleScreen subclass.
This function should be used when turtle is used as a standalone tool for
doing graphics. As a singleton object, inheriting from its class is not
possible.

免责声明:我以前从未使用过turtle。

您需要使用Screen类。但是,如果您不想使用OOP,可以使用内置的方法
turtle.onscreenclick(func)

替换

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


您需要使用Screen类。但是,如果您不想使用OOP,可以使用内置的方法
turtle.onscreenclick(func)

替换

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


您必须首先获取海龟正在绘制的屏幕对象,然后调用屏幕对象的onclick()。以下是一个例子:

import turtle as t

def getPos(x,y):
    print("(", x, "," ,y,")")
    return

def main():
    s = t.getscreen()
    s.onclick(getPos)
    t.mainloop()

main()

您必须首先获取海龟正在绘制的屏幕对象,然后调用屏幕对象的onclick()。以下是一个例子:

import turtle as t

def getPos(x,y):
    print("(", x, "," ,y,")")
    return

def main():
    s = t.getscreen()
    s.onclick(getPos)
    t.mainloop()

main()
Python 3.7版本

import turtle as t

def click(x,y):
  print('Clicked:', x, y)

def main():
  s = t.Screen()
  s.onclick(click)

  s.mainloop()

main()
请注意,打印是在控制台上进行的,而不是在Turtle上。

Python3.7版本

import turtle as t

def click(x,y):
  print('Clicked:', x, y)

def main():
  s = t.Screen()
  s.onclick(click)

  s.mainloop()

main()

请注意,打印是在控制台上进行的,而不是在Turtle上。

我有一个小孩编码器,但我学到了很多

我喜欢只为那些说你创造了好东西的人编写代码,但我也喜欢分享我学到的东西

您来这里是为了代码单击此处的代码

您需要执行以下操作:

# import package 
import turtle 
   
# screen object 
wn = turtle.Screen() 
  
# method to perform action 
def fxn(x, y): 
  turtle.goto(x, y) 
  turtle.write(str(x)+","+str(y)) 
  
# onclick action  
wn.onclick(fxn) 
wn.mainloop()`

现在,只要点击屏幕,就可以看到神奇的东西

我有一个小孩编码器,但我学到了很多

我喜欢只为那些说你创造了好东西的人编写代码,但我也喜欢分享我学到的东西

您来这里是为了代码单击此处的代码

您需要执行以下操作:

# import package 
import turtle 
   
# screen object 
wn = turtle.Screen() 
  
# method to perform action 
def fxn(x, y): 
  turtle.goto(x, y) 
  turtle.write(str(x)+","+str(y)) 
  
# onclick action  
wn.onclick(fxn) 
wn.mainloop()`

现在,只需点击屏幕,就可以看到神奇之处

这里的问题是什么?这对我很有用。你和海龟的接口正确吗?您希望将
打印
语句写入何处?好的,我测试了它并在上面添加了注释。我不想点击箭头。我想点击箭头不在的空白处,这样我就可以找到我想把箭头发送到的坐标。这里的问题是什么?这对我很有用。你和海龟的接口正确吗?您希望将
打印
语句写入何处?好的,我测试了它并在上面添加了注释。我不想点击箭头。我想点击箭头不在的空白处,这样我就可以找到我想把箭头发送到的坐标。我看了一下。我不知道这是否有效。它似乎没有做到它所说的。谢谢你的尝试。我看了一下。我不知道这是否有效。它似乎没有做到它所说的。感谢您的尝试。请在您的答案中添加一些解释,以便其他人可以从中学习。请在您的答案中添加一些解释,以便其他人可以从中学习