Tkinter按键触发事件

时间:2014-11-22 16:20:56

标签: python user-interface tkinter

嗨我试图根据用户的输入运行一个函数,我做错了什么?

如果我这样做

def onKeyPress(input = 1 | 2):
    playSound

如果按1或2

,它可以正常工作

但如果我这样做

def onKeyPress(input = 1 | 2):
    if input == 1:
        command = playSound()
    elif input == 2:
        command = nextFile()

如果按1或2,我什么都没有,没有任何反应。我假设我没有正确检查输入是1还是2?感谢

1 个答案:

答案 0 :(得分:2)

事件处理程序(或回调函数)将使用Event对象调用,而不是使用整数调用。事件对象永远不会等于int对象。

如果您选中了特定键,请使用所传递事件的charkeysymkeycode属性:

def onKeyPress(event):
    if event.char == '1':  # OR  event.keycode == 49:
        playSound()
    elif event.char == '2':  # OR  event.keycode == 50:
        nextFile()