首页 > 编程问答 >为什么 exitonclick 在我的 Python Turtle 图形程序中不起作用?

为什么 exitonclick 在我的 Python Turtle 图形程序中不起作用?

时间:2024-07-21 15:38:42浏览次数:14  
标签:python turtle-graphics

我正在开发一个 Python Turtle 图形程序,我正在尝试使用 exitonclick 方法在单击窗口时关闭窗口。但是,它似乎不起作用。

from turtle import Turtle, Screen

rem = Turtle()
screen = Screen()


rem.fd(70)

def clear():
    screen.clearscreen()

screen.listen()

screen.onkey(fun=clear,key = "c")

screen.exitonclick()

当我运行它并尝试通过单击屏幕退出程序时,没有任何反应。


你的代码中 screen.exitonclick() 的位置是正确的,但是它可能因为你的程序卡在了 screen.listen() 中而无法执行。 screen.listen() 会让你的程序持续监听键盘事件,直到窗口关闭。

为了解决这个问题,你需要把 screen.exitonclick() 放到 screen.listen() 之后,这样程序就能同时监听键盘事件和鼠标点击事件。

修改后的代码如下:

from turtle import Turtle, Screen

rem = Turtle()
screen = Screen()


rem.fd(70)

def clear():
    screen.clearscreen()

screen.listen()  # 开始监听键盘事件
screen.onkey(fun=clear,key = "c")

screen.exitonclick()  # 监听鼠标点击事件,点击关闭窗口

这样修改之后,你的程序就能正常响应鼠标点击事件,并在你点击窗口时关闭了。

标签:python,turtle-graphics
From: 78774606

相关文章