使用 Python Tkinter 时如何 bind/map 全局热键?
How bind/map global hotkey when using Python Tkinter?
我想要 bind/map 一个全局热键,当应用程序 window 最小化并且用户不关注它时,它也可以工作。我正在寻找一种跨平台的方式。我可以使用 Tkinter 执行此操作吗?
使用 tkinter,如果 window 没有键盘焦点,它将不会收到按键事件,因此您将无法执行您想要的操作。
但是,使用 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)。
I want to bind/map a global hotkey, which also works when application window minimized and not focused on it. I'm looking for a cross-platform way.
你不能用 tkinter 做到这一点。 Tkinter 对此不提供支持。
你可以试试bindglobal
安装
pip 安装 bindglobal
具有相同的 tkinter 绑定 API 和完整的组合,但在全球范围内工作
支持线程安全和 tkinter mainthread
我想要 bind/map 一个全局热键,当应用程序 window 最小化并且用户不关注它时,它也可以工作。我正在寻找一种跨平台的方式。我可以使用 Tkinter 执行此操作吗?
使用 tkinter,如果 window 没有键盘焦点,它将不会收到按键事件,因此您将无法执行您想要的操作。
但是,使用 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)。
I want to bind/map a global hotkey, which also works when application window minimized and not focused on it. I'm looking for a cross-platform way.
你不能用 tkinter 做到这一点。 Tkinter 对此不提供支持。
你可以试试bindglobal
安装 pip 安装 bindglobal
具有相同的 tkinter 绑定 API 和完整的组合,但在全球范围内工作 支持线程安全和 tkinter mainthread