首页 > 解决方案 > 如何在 python turtle 中创建一次性按钮?

问题描述

我目前正在尝试使用 Turtle 在 python 中创建一个多选菜单。我已经能够创建一个按钮(更多是一个可点击区域),单击该按钮会擦除屏幕上的内容,然后编写一个带有新选项的新菜单。

turtle.onscreenclick(btnclick,1)
turtle.listen()

btnclick()是表示坐标以及单击时会发生什么的函数。

def btnclick(x,y):
    if x > -300 and x < -190 and y > -50 and y < -20:
        pen.clear()
        pen.write("hello4", True, align="center")

问题是,当这个新菜单出现时,旧的可点击区域仍然处于活动状态。如何重置所有参数以便能够在每次清除屏幕时创建新按钮?

PS:我试过了turtle.clear()turtle.reset()或者turtle.resetscreen(),没有任何成功。

标签: pythonbuttonmenupython-turtle

解决方案


一旦确定它是命中,您可以禁用当前按钮处理程序:

def btnclick(x, y):
    if -300 < x < -190 and -50 < y < -20:
        turtle.onscreenclick(None, 1)
        pen.clear()
        pen.write("hello4", move=True, align="center")

然后为修改后的菜单启用不同的按钮处理程序。


推荐阅读