Il existe deux méthodes dans le code ci-dessous, l'une pour la capture des clics de souris et l'autre pour la touche. Je veux mettre en focus_set sur la touche plutôt que sur les clics de la souris mais si j'utilise focus_set dans la fonction de la touche, alors ça ne marche pas. mais si je le mets à l'intérieur de la souris, cliquez dessus, cela fonctionne et les fonctions clés fonctionnent très bien.python Tkinter focus_set() ne fonctionne pas correctement lors de la capture de l'événement de touche
from tkinter import *
root = Tk()
text = ''
frame = Frame(root, width=100, height=100)
def key(event):
frame.focus_set() # here is the focus set which is not working
global text
text += event.char
print (test)
def callback(event):
#but If I put that same line here, it works
print ("clicked at", event.x, event.y)
frame.bind("<Key>", key)
frame.bind("<Button-1>", callback)
frame.pack()
root.mainloop()
merci pour la réponse, aussi je veux savoir, si je retourne la valeur de texte à partir de la méthode de clé, puis faire une nouvelle variable en dehors de la méthode comme une clé = (quel sera le paramètre? prend l'objet événement comme paramètre. ce qui devrait être dans le paramètre de cette méthode clé –
@ MD.FazlaRabby: Puisque 'key' utilise les données de l'événement, si vous voulez l'appeler directement et enregistrer la valeur de retour, vous allez devoir lui passer un objet qui a un paramètre 'char' puisque c'est ce que votre callback nécessite. –
merci pour votre réponse, python a-t-il une variable "char"? Ce serait vraiment utile si vous pouviez me donner une démonstration/exemple –