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

Python Turtle设置GIF形状后点击事件无响应问题求助

问题原因及解决方法

你的问题出在修改形状时操作的是全局默认海龟,而非绑定了点击事件的t1实例。代码里turn函数中调用的shape()是全局函数,只会改变默认海龟的形状,而你绑定点击事件的是t1,它的形状根本没被切换成GIF,所以点击自然没反应。

修正后的代码

from turtle import *

t1 = Turtle()
t1.speed(0)
t1.up()
t1.goto(-100, 0)
t1.shape("square")

addshape("peashooter.gif")

def c(x, y):
    print("c")

var = 1

def turn(x, y):
    global var
    
    if var == 1:
        t1.shape("peashooter.gif")  # 改为操作t1实例
        var = 2
    elif var == 2:
        t1.shape("square")  # 同样操作t1实例
        var = 1

onclick(c)
t1.onclick(turn)

done()  # 保持窗口运行,否则程序会直接退出

额外注意事项

  • 确保peashooter.gif文件和代码在同一目录下,或使用完整路径指定图片位置
  • 必须调用done()维持海龟窗口运行,否则程序执行后会直接关闭,无法测试点击功能

内容的提问来源于stack exchange,提问作者CozyCats

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 07:38:11