python tkinter - 绑定一个 "Global" 快捷键,可以从 window 外部触发

python tkinter - Bind a "Global" key shortcut which can be triggered from outside the window

我在想是否有任何方法可以将“GLOBAL”键绑定绑定到 tk/ttk 小部件

例如: 在这段代码中:

import tkinter as tk

def output(lines = 'hehehehe'):
    print(lines)

root = tk.Tk()

button = tk.Button(root, text ='HAHAHA', command = lambda:output('hahaha'))
button.pack()

root.bind('<Control-a>', output)
root.mainloop()

现在,每当我在 window 处于活动状态时按下 Control+A,功能 output() 就会工作..

但是,当我启动任何其他 window 并使此 tk-window 处于非活动状态时,键绑定不起作用...

有什么方法可以绑定“GLOBALLY”吗?

不可能,您无法在 tkinter 中访问全局击键,您将不得不使用其他一些外部库,例如 keyboard,应该很容易。

先用pip install keyboard安装库,然后:

import tkinter as tk
import keyboard

....
keyboard.add_hotkey('ctrl+a', output, args=('From global keystroke',))
root.mainloop()