Tkinter,获取触发事件的小部件

时间:2017-04-22 16:58:04

标签: python-3.x tkinter

有没有办法检查按下了哪个事件键。我试图通过知道按下哪个键来调用函数。它必须在一个函数内。

from tkinter import *

def check(event):
    if Up was pressed:
        Up()

    elif Down was pressed:
        Down()

    elif Left was pressed:
        Left()

    else:
        Right()

root= Tk()

root.bind("<Up>", check)
root.bind("<Down>", check)
root.bind("<Left>", check)
root.bind("<Right>", check)

root.mainloop()

1 个答案:

答案 0 :(得分:1)

您可以使用event.key。有了这个,您也不需要多次使用root.bind()

from tkinter import *
root = Tk()

def Key(event):
    if event.keycode == 37:
        print('Left')
    if event.keycode == 38:
        print('Up')
    if event.keycode == 39:
        print('Right')
    if event.keycode == 40:
        print('Down')

root.bind('<Key>', Key)
root.mainloop()

要获取代码,您可以使用此代码:

def getKeycode(event): print(event.keycode)

root.bind('<Key>', getKeycode)
root.mainloop()

进一步阅读: