事件绑定不适用于箭头键Pycharm

时间:2019-08-15 20:36:20

标签: python tkinter pycharm tkinter-canvas

我正在尝试使用事件绑定对该三角形(我有点编码)进行一些基本的动画处理,如果按箭头键,三角形将朝该方向移动,如果按Enter键,它将移动在右边。

当我尝试运行代码时,按Enter键可移动三角形,而箭头键不会移动。我从正在阅读python的书中抄下来。有人知道我的代码有什么问题吗?

(编辑:抱歉,我输入了错误的代码)

from tkinter import*
tk = Tk()
canvas = Canvas(tk, width=400, height=400)
canvas.pack()
canvas.create_polygon(10, 10, 10, 60, 50, 35)


def movetriangle(event):
    if event.keysym == 'Up':
        canvas.move(1, 0, -3)
    elif event.keysym == 'Down':
        canvas.move(1, 0, 3)
    elif event.keysym == 'Left':
        canvas.move(1, -3, 0)
    else:
        canvas.move(1, 3, 0)


canvas.bind_all('<KeyPress-Return>', movetriangle)
tk.mainloop()

我希望箭头键为三角形设置动画,但是我的代码似乎有错误。

有人可以帮忙吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

绑定到底部的键,而不是并添加

elif event.keysym == 'Down'

和其他箭头键或其他字符(如果需要)。