Bonjour,

J'ai un soucis dans mon script ça fait quelques jours que j'y réfléchis donc je me tourne vers vous pour en savoir plus.

J'utilise un champ d'entrée de texte Entry dans Tkinter qui permet d'afficher le texte entré dans une fenêtre après validation.
Seulement la barre espace qui déclenche une fonction de type event, déclenche la fonction lorsque j'entre du texte dans le champ d'entrée (à part si j'écris une phrase sans espace ce qui est rare).

Comment puis je faire pour pouvoir utiliser la barre espace en écrivant dans le champ d'entrée sans déclencher la fonction ?

je pense que la première étape consiste à récupérer une info sur l'utilisation du champ d'entrée, mais je n'y parviens pas.

J'ai mis les lignes concernées, je peux en mettre plus s'il faut.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
def start_and_stop(event):
    global flag
    if flag == 0:
            flag = 1
            move()
            return 0
    if flag == 1:
            stop_it()
            return 0
 
def text_enter(event):
    ch.set(chmp1.get())
    chmp1.delete(0,END)
    can1.itemconfigure(text1, text = ch.get(), fill = tc)
 
fen1 = Tk()
ch = StringVar()
ch.set("ch.set")
chmp1 = Entry(fen1, background = 'white', state = NORMAL)
chmp1.bind("<Return>",text_enter)
chmp1.pack(side = TOP)
fen1.bind("<space>", start_and_stop)
can1=Canvas(fen1, bg = 'black',height = 500, width = 1400)
can1.pack(side=BOTTOM, padx = 1, pady = 2)
text1 = can1.create_text(x1,y1, text = "Entrez un message",fill='white', activefill = 'yellow', font = ('Helvetica','50'))
b1 = Button (fen1, text = "Quitter",command = fen1.quit).pack(side = TOP)
b2 = Button (fen1, text = "Démarrer/Arreter", command = manual_start_and_stop).pack(side = TOP)
b3 = Button (fen1, text = "Couleur texte", command = change_text_color).pack(side = TOP)
b4 = Button (fen1, text = "Couleur fond", command = change_bg_color).pack(side = TOP)
b5 = Button (fen1, text = "Afficher les informations", command = display_item).pack()
fen1.mainloop()
Merci à vous