python turtle 绘图后窗口一闪而过或根本不出现,通常是因为缺少事件循环入口;只需在绘图代码末尾添加 turtle.done() 即可保持窗口持续显示并响应。
在使用 Python 的 turtle 模块进行图形绘制时,一个常见却容易被忽视的问题是:程序运行结束,绘图窗口却未弹出,或刚出现就立即关闭。这并非 IDE(如 VS Code、PyCharm 或 IDLE)故障,也非系统兼容性问题,而是 Turtle 图形界面依赖事件循环(event loop)来维持窗口存活 —— 而默认情况下,Python 脚本执行完毕即退出,事件循环从未启动。
你的原始代码中虽然创建了 turtle.Screen() 和 turtle.Turtle(),也完成了绘图指令(如 forward()、left()),但缺少让窗口“驻留并等待用户交互”的关键调用。此时,Python 解释器执行完最后一行便终止进程,Turtle 窗口随之被系统回收,导致“看不见”或“闪退”。
✅ 正确做法是在所有绘图逻辑之后,显式调用:
turtle.done()
该函数是 turtle.mainloop() 的别名,作用是启动 Tkinter 事件循环,使窗口保持打开状态,并持续监听鼠标、键盘等事件。它不会自动关闭窗口,也不会因单击而退出——这是它与 turtle.exitonclick() 的核心区别:
立即学习“Python免费学习笔记(深入)”;