首页 > 解决方案 > 当用户按下特定键时如何运行函数(在 Python 中)?

问题描述

我试过这个

from msvcrt import getch

while True:
    key = ord(getch())
    if key == 27: #ESC
        print("You pressed ESC")
    elif key == 13: #Enter
        print("You pressed key ENTER")

但它仅在终端中有效,我想在用户按下键时运行一个功能,即使他的光标不在终端中,请帮助...谢谢!

标签: pythonmsvcrtgetch

解决方案


如果您想让它正常工作,那么您尝试做的并不是最简单的事情。如果您有一个焦点窗口/小部件,则使用 Qt 和 QKeyEvent 将是最简单的解决方案。但是,如果您希望您的输入被全局/在其他应用程序中读取,而不仅仅是从终端,您需要做一些更复杂的事情:

如何在 Python 中生成键盘事件?


推荐阅读