检测按键并将其显示在标签 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)
.
我正在使用 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)
.