bonjour à tous et toutes,
actuellement en m'aidant de ce code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from tkinter import *
from math import *
# définition de l'action à effectuer si l'utilisateur actionne
# la touche "enter" alors qu'il édite le champ d'entrée :
def evaluer(event):
chaine.configure(text = "Résultat = " + str(eval(entree.get())))
# ----- Programme principal : -----
fenetre = Tk()
entree = Entry(fenetre)
entree.bind("<Return>", evaluer)
chaine = Label(fenetre)
entree.pack()
chaine.pack()
fenetre.mainloop()
j'ai pu ecrire celui-ci:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
from tkinter import *
 
#fct circuit
def circouv():
    canv.delete(ALL)
    flagetat=False
    canv.create_line(50,200,200,200) #gene borne+
    canv.create_line(100,250,150,250) #gene borne-
    canv.create_line(125,200,125,100) #fil gene+
    canv.create_line(125,100,250,100) #inter borne+
    canv.create_oval(245,95,255,105,fill="black") #inter contact+
    canv.create_line(250,125,350,100) #inter bascule
    canv.create_line(350,100,450,100) #inter borne-
    canv.create_oval(345,95,355,105,fill="black") #inter contact-
    canv.create_line(450,100,450,150) #res borne+
    canv.create_rectangle(425,150,475,250) #res
    canv.create_line(450,250,450,350) #res borne-
    canv.create_line(450,350,125,350) #fil
    canv.create_line(125,350,125,250) #fil gene-
 
def circfer():
    canv.delete(ALL)
    flagetat=True
    canv.create_line(50,200,200,200) #gene borne+
    canv.create_line(100,250,150,250) #gene borne-
    canv.create_line(125,200,125,100) #fil gene+
    canv.create_line(125,100,250,100) #inter borne+
    canv.create_oval(245,95,255,105,fill="black") #inter contact+
    canv.create_line(250,100,350,100) #inter bascule
    canv.create_line(350,100,450,100) #inter borne-
    canv.create_oval(345,95,355,105,fill="black") #inter contact-
    canv.create_line(450,100,450,150) #res borne+
    canv.create_rectangle(425,150,475,250) #res
    canv.create_line(450,250,450,350) #res borne-
    canv.create_line(450,350,125,350) #fil
    canv.create_line(125,350,125,250) #fil gene-
 
def sw():
    """
    """
    global flagetat
    if flagetat == True:
        flagetat = False
        circouv()
        lbl1.configure(text="la tension est de: 0V")
        lbl2.configure(text="le courant est de: 0A")
 
    elif flagetat == False:
        flagetat = True
        circfer()
        lbl1.configure(text="la tension est de: "+ent1.get())
        lbl2.configure(text="le courant est de: "+str(int(ent1.get())/int(ent2.get()))+"A")
 
#interface
fen = Tk()
 
canv = Canvas(fen, height = 450, width = 600, bg="light yellow",)
canv.grid(row=0,column=0,rowspan=10)
 
Label(fen,text="interrupteur").grid(row=0,column=1)
but = Button(fen,text="marche/arret",command=sw)
but.grid(row=0, column=2)
 
Label(fen,text="générateur").grid(row=1,column=1)
ent1 = Entry(fen)
ent1.grid(row=1,column=2)
ent1.bind("<Return>",sw)
 
Label(fen,text="resistance").grid(row=2,column=1)
ent2 = Entry(fen)
ent2.grid(row=2,column=2)
ent2.bind("<Return>",sw)
 
lbl1 = Label(fen)
lbl1.grid(row=4,column=2)
 
lbl2 = Label(fen)
lbl2.grid(row=5,column=2)
 
#main
flagetat = False
circouv()
 
fen.mainloop()
cependant vous remarquerez que ma fonction sw (qui prends en référence la fonction eval du premier exemple) ne semble pas fonctionner de la même manière.

1-je n'ai pas de paramètre event (d'ailleurs si j'en mets un ça me génère une erreur).

2-je ne peux pas utiliser de fonction eval() pour "evaluer" les valeurs contenus dans mes Entry. bon la je pense que c'est dû à Python3 et que tout simplement je ne le peux pas d'où pour moi le fait des les convertir en int puis en string.

en fait ma question est plus pour la 1 si quelqu'un peut m'expliquer pourquoi je n'ai pas eu besoin du paramètre event

merci pour l'aide apportée