【问题标题】:Python turtle wait for spacebarPython乌龟等待空格键
【发布时间】:2021-04-21 12:37:01
【问题描述】:

我刚刚发现了 turtle 模块,我正在尝试使用它。我想运行一个绘制静态图形的程序,然后在按下空格键时关闭窗口。这个程序可以很好地绘制图形——但是当我按下时什么也没有发生——很快蓝色的轮子开始旋转,并且窗口在 Windows 的脑海中变得没有响应。

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

Python 3.9, 视窗 10

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


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


while True:
    sleep(0.2)

【问题讨论】:

    标签: python turtle-graphics python-turtle


    【解决方案1】:

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

    from turtle import Screen, Turtle
    
    turtle = Turtle()
    turtle.forward(150)
    turtle.right(108)
    
    screen = Screen()
    screen.onkey(screen.bye, ' ')
    screen.listen()
    screen.mainloop()
    

    【讨论】:

    • 谢谢。我错过了 mainloop() 的存在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2012-09-08
    • 1970-01-01
    相关资源
    最近更新 更多