Python 巨蟒-乌龟停止倾听
正如标题中所说。是否可以停止python的turtle模块中的侦听。例如:Python 巨蟒-乌龟停止倾听,python,turtle-graphics,Python,Turtle Graphics,正如标题中所说。是否可以停止python的turtle模块中的侦听。例如: turtle.onkey(setChar1, '1') turtle.onkey(setChar2, '2') turtle.onkey(setChar3, '3') turtle.listen() 但是我可以做一些像turtle.stopListen()之类的事情吗?没有明显的取消听()功能,即使你在tkinter的基础上。我希望有人能给你一个 海龟套餐似乎希望您这样做: def keys_activate():
turtle.onkey(setChar1, '1')
turtle.onkey(setChar2, '2')
turtle.onkey(setChar3, '3')
turtle.listen()
但是我可以做一些像turtle.stopListen()之类的事情吗?没有明显的
取消听()
功能,即使你在tkinter的基础上。我希望有人能给你一个
海龟套餐似乎希望您这样做:
def keys_activate():
turtle.onkey(setChar1, '1')
turtle.onkey(setChar2, '2')
turtle.onkey(setChar3, '3')
turtle.listen()
def keys_deactivate():
turtle.onkey(None, '1')
turtle.onkey(None, '2')
turtle.onkey(None, '3')
另一种方法是定义一个全局侦听变量,您的键处理程序将检查该变量是否应处于活动状态。比如:
from turtle import *
listening = False
def listen(listen_original=listen):
global listening
listen_original()
listening = True
def unlisten():
global listening
listening = False
def setChar1():
if not listening:
return
reset()
for i in range(36):
forward(200)
left(170)
def setChar2():
unlisten()
def setChar3():
listen()
onkey(setChar1, '1')
onkey(setChar2, '2')
onkey(setChar3, '3')
listen()
done()
按“1”将缓慢绘制图形;再次按“1”将重置屏幕并重新绘制图形。按“2”将关闭该功能,使按“1”不起任何作用。按“3”将重新打开按键,以便您可以再次按“1”重新启动图形