检测按键并将其显示在标签 tkinter 中

Detect a key press and show it in a label tkinter

我正在使用 tkinter 和 pynput。我有一个按钮 select 一个触发键,在用户按下我想在标签中显示按下的键的顺序这是错误的:ord() expected string of length 1, but KeyCode found 这是代码:

TriggerKey = Button(win, text = "Set a trigger key", command = Key_listener)
TriggerKey.place(x = 70, y = 70,)

这是监听函数:

def Key_listener():
    with Listener (on_press=trigger_Key, on_release=release) as trigger:
        trigger.join()

我认为问题出在这里:

def trigger_Key(Key):
    TriggerKey = Key
    print(TriggerKey) #prints the pressed button for a test
    ord_key = ord(TriggerKey)
    trigger_key_label.config(text= ord_key)

如果您将它与 tkinter 一起使用,它将阻止您的代码。 更改函数 Key_listener:

def Key_listener():
    trigger = Listener (on_press=trigger_Key, on_release=release)
    trigger.start()

关于你的错误: 在trigger_Key,key是一个Keycode function.You需要用到ord(Key.char).