Bonjour a tous,

Quelqu'un peut-il m'expliquer pourquoi je ne peu pas faire entry.delete(0, END) dans un bouton directement.

Pour que sa soit plus clair je vous met mon code qui ne marche pas:

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
 
from tkinter import *
 
def calcul():
 
    donnee.insert(END, " = " + str(eval(donnee.get())))
 
root = Tk()
root.title("Calcul")
 
donnee = Entry(root, width = 21)
donnee.pack()
 
Button(root, width = 5, text = "Calcul", command = calcul).pack(side = LEFT)
Button(root, width = 5, text = "Clean", command = donnee.delete(0, END)).pack(side = LEFT)
Button(root, width = 5, text = "Quit", command = root.quit).pack()
 
root.mainloop()
root.destroy()
La seul facon que j'ai trouvé pour que sa marche c'est celle-ci en passant par une fonction:

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
 
from tkinter import *
 
def calcul():
 
    donnee.insert(END, " = " + str(eval(donnee.get())))
 
def clean():
 
    donnee.delete(0, END)
 
root = Tk()
root.title("Calcul")
 
donnee = Entry(root, width = 21)
donnee.pack()
 
Button(root, width = 5, text = "Calcul", command = calcul).pack(side = LEFT)
Button(root, width = 5, text = "Clean", command = clean).pack(side = LEFT)
Button(root, width = 5, text = "Quit", command = root.quit).pack()
 
root.mainloop()
root.destroy()
Et autre question, pourquoi je ne peu pu rien faire sur mon Entry si je lui applique la méthode pack directement "Entry(root).pack()" au lieu de passer par sa variable "donnee.pack()"

C'est deux problème mon donné quelque heure de mal de tête, j'ai fini par trouver la solution, mais je ne comprend pas pourquoi sa marchais pas???