Python 乌龟等待空格键

Python turtle wait for spacebar

我刚刚发现了 turtle 模块,我正在尝试使用它。我想要 运行 一个绘制静态图形的程序,然后在按下 space 栏时关闭 window。该程序可以很好地绘制图形 – 但当我按下 – 时没有任何反应 – 很快蓝色轮子开始旋转,并且 window 在 Windows 的脑海中变得没有反应。

如何做得更好?如何在保持“响应window”的同时等待?

Python 3.9, Windows10

import turtle
from time import sleep
t = turtle.Turtle()
turtle.onkey(turtle.bye, ' ') 


t.forward(150)
t.rt(108)


while True:
    sleep(0.2)

您错过了对 listen() 方法的调用,因此您的按键操作不会被听到。另外,不要重新发明事件循环——while True:sleep() 都不属于像乌龟这样的事件驱动世界:

from turtle import Screen, Turtle

turtle = Turtle()
turtle.forward(150)
turtle.right(108)

screen = Screen()
screen.onkey(screen.bye, ' ')
screen.listen()
screen.mainloop()