Python 巨蟒-乌龟停止倾听

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():

正如标题中所说。是否可以停止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()

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”重新启动图形