Turtle对象无mainloop属性报错:如何获取窗口点击坐标?
问题解决:点击窗口获取坐标及错误修复
错误原因
出现AttributeError: 'Turtle' object has no attribute 'mainloop'是因为**mainloop()是Screen(屏幕)对象的方法**,不能调用turtle(海龟实例)的这个方法。
代码修正
另外,若想点击窗口任意位置都获取坐标,应使用screen.onclick()而非turtle.onclick()——后者仅在点击海龟图形本身时才会触发函数。修正后的代码如下:
from turtle import Turtle, Screen turtle = Turtle() screen = Screen() screen.title("US State Game") screen.bgpic("blank_states_img.gif") def get_cor(x, y): print(x, y) # 绑定屏幕点击事件,点击窗口任意位置都会触发get_cor screen.onclick(get_cor) # 调用屏幕的mainloop方法维持窗口运行 screen.mainloop()
说明
screen.onclick(get_cor):将屏幕点击事件与get_cor函数绑定,点击窗口内任意位置时,会把点击处的坐标(x, y)传入函数并打印。screen.mainloop():启动屏幕的事件循环,保持窗口处于打开状态,等待用户交互。
内容的提问来源于stack exchange,提问作者shuham J
相关产品推荐
相关产品推荐

