龟键绑定

时间:2017-12-21 17:59:59

标签: python-3.6 turtle-graphics

所以,我已经在乌龟中编写了一个使用鼠标点击绑定绘制的程序,并且我创建了一个绑定来改变笔的颜色,但它只能工作一次,我想知道是否有一种方法可以让按键绑定在每次按下按键时调用分配给它的函数,而不是只调用一次。

这是我目前的代码:

from turtle import*

def Penoff(x,y):
    penup()

def Penon(x,y):
    pendown()

def colour():
    Colour = "white"
    Colour = textinput("Colour", "What Colour do you want to change to: ")
    color(Colour)


pensize(3)

setup (1000,600)
speed (8)


onscreenclick(goto)
onscreenclick(Penoff, btn = 2)
onscreenclick(Penon, btn = 3)


onkeypress(colour, "space")
listen()

mainloop()

1 个答案:

答案 0 :(得分:0)

当您调用textinput()时,turtle将其文本输入对话框设置为关键事件侦听器,因此在调用之后您需要再次调用listen()以使主窗口监听关键事件:

def colour():
    Colour = textinput("Colour", "What Colour do you want to change to:")
    listen()
    if Colour:
        color(Colour)