如何使 Tkinter 运行 在后台运行或使其在 Tkinter window 之外处理按键事件?
How to make Tkinter run in the background or make it handle keypress events outside of the Tkinter window?
想法是,当用户按下组合键 Ctrl+P 时,Tkinter 开始处理 keyboard/mouse 事件,而不管哪个 window 是打开的。
您可以使用 keyboard
模块,即使您将 window 最小化,它也会获得密钥。
因为在 Tkinter 内部使用循环不是一个好习惯。这就是为什么我使用 root.after
方法进行循环的原因。
from tkinter import *
import keyboard
root = Tk()
def loop():
if keyboard.is_pressed(hotkey='ctrl+p'):
print('yes')
root.after(100,loop) # edited
loop()
root.mainloop()
想法是,当用户按下组合键 Ctrl+P 时,Tkinter 开始处理 keyboard/mouse 事件,而不管哪个 window 是打开的。
您可以使用 keyboard
模块,即使您将 window 最小化,它也会获得密钥。
因为在 Tkinter 内部使用循环不是一个好习惯。这就是为什么我使用 root.after
方法进行循环的原因。
from tkinter import *
import keyboard
root = Tk()
def loop():
if keyboard.is_pressed(hotkey='ctrl+p'):
print('yes')
root.after(100,loop) # edited
loop()
root.mainloop()