我正在尝试检测按下键盘上的哪个键,我将在其他事件中使用此信息。我发现pynput
库最适合此用途。
但是,当我在脚本中包含这个简单的代码块(包含PyQt5代码)时,看不到窗口(由PyQt5小部件创建)。但是它会打印键盘上按下的键,因此它在阻塞时可以正常工作PyQt5事件,因此看不到窗口。
我试图通过将代码移到PyQt5事件的不同侧面来避免这种情况,但到目前为止没有成功。
在键盘上按下了检测按键的代码;
from pynput.keyboard import Key, Listener
def on_press(key):
print('{} pressed'.format(
key))
with Listener(on_press=on_press) as listener:
listener.join()
问题似乎始于with Listener(...
部分。在不阻止PyQt5事件的情况下如何运行此代码?
注意:我的主要目标是,当用户在 QLineEdit 上键入内容时,会检测用户是否按 Enter 。