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()
我刚刚发现了 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()