在PyQt5事件中检测按下键盘上的哪个键

时间:2018-12-14 13:46:45

标签: python python-3.x class pyqt pyqt5

我正在尝试检测按下键盘上的哪个键,我将在其他事件中使用此信息。我发现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

0 个答案:

没有答案