python - 如何在 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()
,没有任何成功。
解决方案
一旦确定它是命中,您可以禁用当前按钮处理程序:
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")
然后为修改后的菜单启用不同的按钮处理程序。