【问题标题】:How to run a function (in Python) when user presses a specific key?当用户按下特定键时如何运行函数(在 Python 中)?
【发布时间】:2020-08-04 15:17:34
【问题描述】:

我试过了

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")

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

【问题讨论】:

  • 这能回答你的问题吗? Key Listeners in python?
  • 不幸的是,不,实际上,我想在用户按下某个键时运行一个函数,例如,在 Windows 上,当我们按下“window”键时,即使用户正在使用任何软件,它也会打开开始菜单在电脑上

标签: python msvcrt getch


【解决方案1】:

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

How to generate keyboard events in Python?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2017-05-24
    • 2011-06-22
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多