2

我想绑定/映射一个全局热键,当应用程序窗口最小化并且用户没有关注它时,它也可以工作。我正在寻找一种跨平台的方式。我可以使用 Tkinter 做到这一点吗?

4

3 回答 3

3

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

你不能用 tkinter 做到这一点。Tkinter 对此不支持。

于 2019-01-01T16:48:24.190 回答
3

使用 tkinter,如果窗口没有键盘焦点,它将不会收到按键事件,因此您将无法做您想做的事情。

但是,使用 pynput 您可以收听按键事件:

from pynput.keyboard import Listener

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


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

这应该是跨平台的(但有一些特定于平台的限制)。

于 2019-01-01T14:16:18.740 回答
1

你可以试试bindglobal

使用 pip install bindglobal 安装

具有与完整组合相同的 tkinter 绑定 API,但工作全局支持线程安全和 tkinter 主线程

于 2019-12-07T23:39:13.097 回答