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
相关产品推荐
相关产品推荐

