2
votes

Comment lier / mapper le raccourci clavier global lors de l'utilisation de Python Tkinter?

Je veux lier / mapper un raccourci clavier global, qui fonctionne également lorsque la fenêtre de l'application est réduite et que l'utilisateur ne se concentre pas dessus. Je recherche un moyen multiplateforme. Puis-je faire cela en utilisant Tkinter?


0 commentaires

3 Réponses :


2
votes

Avec tkinter, si la fenêtre n'a pas le focus clavier, elle ne recevra pas les événements de pression de touche, vous ne pourrez donc pas faire ce que vous voulez.

Cependant, avec pynput, vous pouvez écouter les événements keypress:

from pynput.keyboard import Listener

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


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

Cela devrait être multiplateforme (mais avec quelques limitations spécifiques de patform ).


0 commentaires

2
votes

Je veux lier / mapper un raccourci clavier global, qui fonctionne également lorsque la fenêtre de l'application est réduite et non concentrée dessus. Je recherche un moyen multiplateforme.

Vous ne pouvez pas faire cela avec tkinter. Tkinter n'a aucun support pour cela.


0 commentaires

0
votes

Vous pouvez essayer bindglobal

Installer avec pip installer bindglobal

A la même API de liaison tkinter avec des combinaisons complètes, mais fonctionne globalement Prise en charge du thread safe et du fil principal tkinter


0 commentaires