Как связать / сопоставить глобальные горячие клавиши с помощью Python Tkinter?
Я хочу привязать / сопоставить глобальную горячую клавишу, которая также работает, когда окно приложения свернуто и не сфокусировано на нем. Я ищу кроссплатформенный способ.
Кажется, я должен использовать GUI Toolkit для этого. Я искал для этого с помощью Tkinter, но я не нахожу кроссплатформенный способ.
2 ответа
С tkinter, если у окна нет фокуса клавиатуры, оно не будет получать события нажатия клавиш, поэтому вы не сможете делать то, что хотите.
Тем не менее, с помощью pynput вы можете прослушивать события нажатия клавиш:
from pynput.keyboard import Listener
def on_press(key):
print("PRESSED", key)
with Listener(on_press=on_press) as listener:
listener.join()
Это должно быть кроссплатформенным (но с некоторыми специфическими ограничениями).
Я хочу привязать / сопоставить глобальную горячую клавишу, которая также работает, когда окно приложения свернуто и не сфокусировано на нем. Я ищу кроссплатформенный способ.
Вы не можете сделать это с Tkinter. Tkinter не поддерживает это.
Вы можете попробовать bindglobal
Установить с помощью pip install bindglobal
Имеет тот же API привязки tkinter с полными комбинациями, но работает глобальная поддержка потокобезопасности и основной поток tkinter