You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:52:03