Bonjour,
Comme noté dans mon intitulé je cherche à récupérer les données que l'on rentre manuellement dans un Entry, je pense qu'il faut utiliser le .get() pour cela. Malheureusement j'ai du mal à comprendre à quel moment je suis sensé l'utiliser. De plus j'utilise .destroy pour fermer le toplevel et je me demande si ce n'est pas cela qui pose problème également. J'ai essayé de récupéré les données de mon entry en reprenant le code de ce topic https://www.developpez.net/forums/d8...perer-d-entry/ mais rien ne change.
J'ai essayé plusieurs versions pour mon code, mais j'ai toujours des erreurs ce n'est pas les mêmes cependant, mais on m'avait dit que parfois les erreurs ne donnaient pas le réel problème, alors voici mon code :
Pour moi le plus probable c'est mon .get() que j'utilise très mal, ou la manière dont j'initialise les variables.
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 OngletPrincipal = Tk() OngletPrincipal.configure(width=500,height=400) ##Taille de la fenetre OngletPrincipal.resizable(width=False,height=False) ##Empeche le redimensionnement automatique de la fenetre OngletPrincipal.title("Reconfiguration") ##nom de la page OngletPrincipal['bg'] = 'white' ##couleur de fond (couleur en anglais) VarsChargeur = IntVar() VarsDechargeur = IntVar() VarsConvoyeur = IntVar() VarsRobot = IntVar() VarsAVG = IntVar() SaisieChargeur = int SaisieDechargeur = int SaisieConvoyeur=int SaisieRobot=int SaisieAVG=int R_tChargeur = Checkbutton(OngletPrincipal,text ="Avez vous des chargeurs", variable=VarsChargeur).pack() R_tDechargeur = Checkbutton(OngletPrincipal,text ="Avez vous des dechargeurs", variable=VarsDechargeur).pack() R_tConvoyeur = Checkbutton(OngletPrincipal,text ="Avez vous des convoyeurs", variable=VarsConvoyeur).pack() R_tRobot = Checkbutton(OngletPrincipal,text ="Avez vous des robots", variable=VarsRobot).pack() R_tAVG = Checkbutton(OngletPrincipal,text ="Avez vous des AVGs", variable=VarsAVG).pack() def R_T(): OngletTransport = Toplevel(OngletPrincipal) OngletTransport.configure(width=500,height=400) OngletTransport.resizable(width=False,height=False) OngletTransport.title("Transport") OngletTransport['bg'] = 'white' BoutonConfirmer = Button(OngletTransport,text ='Confirmer la saisie',command=OngletTransport.destroy,width=25,height=1).pack() if VarsChargeur.get() == 1 : textChargeur = Label(OngletTransport,text="Nombre de Chargeur").pack() SaisieChargeur = Entry(OngletTransport, width=30).pack() ch = SaisieChargeur.get() if VarsDechargeur.get() == 1 : textDechargeur = Label(OngletTransport,text="Nombre de Dechargeur").pack() SaisieDechargeur = Entry(OngletTransport, width=30).pack() dh = SaisieDechargeur.get() if VarsConvoyeur.get() == 1 : textConvoyeur = Label(OngletTransport,text="Nombre de Convoyeur").pack() SaisieConvoyeur = Entry(OngletTransport, width=30).pack() cv = SaisieConvoyeur.get() if VarsRobot.get() == 1 : textRobot = Label(OngletTransport,text="Nombre de Robot").pack() SaisieRobot = Entry(OngletTransport, width=30).pack() rb = SaisieRobot.get() if VarsAVG.get() == 1 : textAVG = Label(OngletTransport,text="Nombre de AVG").pack() SaisieAVG = Entry(OngletTransport, width=30).pack() avg = SaisieAVG.get() OngletTransport.mainloop() return BoutonIniConfig = Button(OngletPrincipal,text='Enregistrer une configuration initiale',command=R_T,width=25,height=1).pack() ##bouton de commande pouvant appeler des fonctions OngletPrincipal.mainloop() ##Arrete le programme quand l'interface est fermé
EDIT je n'ai pas supprimé mon vieux code, voici le nouveau qui n'enregistre toujours rien mais ne fait pas d'erreur (j'essaye d'enregistrer mes valeurs dans un fichier .xls)
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
85
86
87
88
89
90
91
92
93
94
95 ##Enregistrer les données dans une feuille de classeur excel path = r"C:\Users\JESSY\Documents\VPProjects\SolutionFinal\BaseDeDonnee.xls" # On créer un "classeur" classeur = Workbook() # On ajoute une feuille au classeur f_transport = classeur.add_sheet("Ressource de transport") # Ecrire "1" dans la cellule à la ligne 0 et la colonne 0 f_transport.write(0, 0, "Liste des transports disponibles") f_transport.write(1, 0, "Chargeur") f_transport.write(2, 0, "Dechargeur") f_transport.write(3, 0, "Convoyeur") f_transport.write(4, 0, "Robot") f_transport.write(5, 0, "AVG") # Ecrire "2" dans la cellule à la ligne 0 et la colonne 1 f_transport.write(0, 1, "Quantité") OngletPrincipal = Tk() OngletPrincipal.configure(width=500,height=400) ##Taille de la fenetre OngletPrincipal.resizable(width=False,height=False) ##Empeche le redimensionnement automatique de la fenetre OngletPrincipal.title("Reconfiguration") ##nom de la page OngletPrincipal['bg'] = 'white' ##couleur de fond (couleur en anglais) VarsChargeur = IntVar() VarsDechargeur = IntVar() VarsConvoyeur = IntVar() VarsRobot = IntVar() VarsAVG = IntVar() chvar = IntVar() dhvar = IntVar() cvvar = IntVar() rbvar = IntVar() avgvar = IntVar() SaisieChargeur = IntVar() SaisieDechargeur = IntVar() SaisieConvoyeur=IntVar() SaisieRobot=IntVar() SaisieAVG=IntVar() R_tChargeur = Checkbutton(OngletPrincipal,text ="Avez vous des chargeurs", variable=VarsChargeur).pack() R_tDechargeur = Checkbutton(OngletPrincipal,text ="Avez vous des dechargeurs", variable=VarsDechargeur).pack() R_tConvoyeur = Checkbutton(OngletPrincipal,text ="Avez vous des convoyeurs", variable=VarsConvoyeur).pack() R_tRobot = Checkbutton(OngletPrincipal,text ="Avez vous des robots", variable=VarsRobot).pack() R_tAVG = Checkbutton(OngletPrincipal,text ="Avez vous des AVGs", variable=VarsAVG).pack() def R_T(): global avg OngletTransport = Toplevel(OngletPrincipal) OngletTransport.configure(width=500,height=400) OngletTransport.resizable(width=False,height=False) OngletTransport.title("Transport") OngletTransport['bg'] = 'white' BoutonConfirmer = Button(OngletTransport,text ='Confirmer la saisie',command=OngletTransport.destroy,width=25,height=1).pack() if VarsChargeur.get() == 1 : textChargeur = Label(OngletTransport,text="Nombre de Chargeur").pack() SaisieChargeur = Entry(OngletTransport,textvariable=chvar, width=30).pack() ch = chvar.get() f_transport.write(1, 1, ch) if VarsDechargeur.get() == 1 : textDechargeur = Label(OngletTransport,text="Nombre de Dechargeur").pack() SaisieDechargeur = Entry(OngletTransport,textvariable=dhvar, width=30).pack() dh = dhvar.get() f_transport.write(2, 1, dh) if VarsConvoyeur.get() == 1 : textConvoyeur = Label(OngletTransport,text="Nombre de Convoyeur").pack() SaisieConvoyeur = Entry(OngletTransport,textvariable=cvvar, width=30).pack() cv = cvvar.get() f_transport.write(3, 1, cv) if VarsRobot.get() == 1 : textRobot = Label(OngletTransport,text="Nombre de Robot").pack() SaisieRobot = Entry(OngletTransport,textvariable=rbvar, width=30).pack() rb = rbvar.get() f_transport.write(4, 1, rb) if VarsAVG.get() == 1 : textAVG = Label(OngletTransport,text="Nombre de AVG").pack() SaisieAVG = Entry(OngletTransport,textvariable=avgvar, width=30).pack() avg = avgvar.get() f_transport.write(5, 1,avg) OngletTransport.mainloop() BoutonIniConfig = Button(OngletPrincipal,text='Enregistrer une configuration initiale',command=R_T,width=25,height=1).pack() ##bouton de commande pouvant appeler des fonctions OngletPrincipal.mainloop() ##Arrete le programme quand l'interface est fermé # Ecriture du classeur sur le disque classeur.save(path)
Merci d'avoir lu.
Partager