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



Im 使用 tkinter 和 pynput。我有一个按钮可以在用户按下键后选择触发键我想在标签中显示按下键的顺序,这是错误: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函数。您需要使用ord(Key.char).

最新更新