如何使用Python Tkinter绑定/映射全局热键?

时间:2019-01-01 13:32:03

标签: python tkinter cross-platform global-hotkey

我想绑定/映射一个全局热键,当应用程序窗口最小化并且不关注它时,它也可以工作。我正在寻找一种跨平台的方式。

看来我应该使用GUI工具包来完成它。我已经研究过使用Tkinter进行此操作,但找不到跨平台的方法。

3 个答案:

答案 0 :(得分:2)

  

我想绑定/映射一个全局热键,当应用程序窗口最小化并且不关注它时,它也可以工作。我正在寻找一种跨平台的方式。

您无法使用tkinter做到这一点。 Tkinter不对此提供支持。

答案 1 :(得分:1)

使用tkinter时,如果窗口没有键盘焦点,它将不会收到按键事件,因此您将无法执行所需的操作。

但是,通过Pynput,您可以收听按键事件:

from pynput.keyboard import Listener

def on_press(key):
    print("PRESSED", key)


with Listener(on_press=on_press) as listener:
    listener.join()

这应该是跨平台的(但有一些patform specific limitations)。

答案 2 :(得分:0)

您可以尝试bindglobal

安装 pip install bindglobal

具有相同的tkinter绑定API和完整组合,但可以全局运行 支持线程安全和tkinter主线程

相关问题