Récupérer et utiliser valeur Entry
Résolu/FerméUtilisateur anonyme - 4 déc. 2022 à 21:38
- _tkinter.tclerror: invalid command name ".!entry"
- Sfc scannow command - Guide
- Flush dns command - Guide
- The input value is invalid. pdf ✓ - Forum Webmastering
- Todo: <product name> - Forum Virus
- Could not do normal boot invalid kernel length - Forum Samsung
5 réponses
4 déc. 2022 à 15:45
bonjour,
en ligne 77, tu écris "command=total()".
Si tu veux que la fonction total soit appelée quand le bouton est cliqué, il faut écrire "command=total".
4 déc. 2022 à 18:55
Bonjour
Pour déboguer par soi-même ou avec l'aide du forum
- Ne pas poster de messages en doublon
- Éviter d'avoir des avertissements partout dans le code, quand j'ai copié collé ton code, toutes les 3 ou 4 lignes, j'avais un panneau avec un message qui dit en gros, je ne connais pas tel mot clé, j'espère qu'il vient du import * plus haut, mais si ce n'est pas le cas ça va planter
- lire le message d'erreur, il t'indique quelle ligne est concernée, en général, il y a le n° de ligne et son code
- essayer d'analyser
- aller sur la ligne désigné par le message d'erreur
- tâcher de comprendre l'origine de l'erreur
- lire la documentation des objets / méthodes / fonctions etc.. utilisées sur cette ligne pour voir si on n'y trouve pas un début de solution
- chercher des exemples d'utilisation de ces objets / méthodes / fonctions
- si on n'y arrive pas, copier-coller le message d'erreur sur le forum avec la question et le code.
- Ça évite de recevoir une réponse sur un autre problème du code que celui qu'on cherche
- Ça peut suffire au lecteur pour répondre au moins partiellement, typiquement là, je t'aurais répondu, ça plante à la ligne 16, mais pas à la 15, quelle est la différence entre ces 2 lignes ?
4 déc. 2022 à 19:06
from tkinter import * from tkinter import ttk # Create an instance of tkinter frame win = Tk() # Set the size of the tkinter window win.geometry("700x600") frame = Frame(win, bg='white') def total(): nbr_report = int(nombre_reportage.get()) prix_report = int(prix_reportage.get()) nbr_sup_image = int(nombre_supplement_image.get()) prix_sup_image = int(prix_supplement_image.get()) taxe = int(TVA.get()) inf = int(inflation.get()) p_deplacement = int(prix_deplacement.get()) reduc = int(reduction.get()) montant_brute= ((((nbr_report*prix_report)+(nbr_sup_image*prix_sup_image)+p_deplacement-reduc)*(inf))/100) montant_ttc = ((montant_brute* (taxe)/100)) print(montant_brute) print(montant_ttc) def button_click(): pass label_title = Label(frame,text="TVA en %",font=("Helvetica", 15),bg='white',fg='black') label_title.pack() TVA = Entry(frame,font=("Helvetica", 20),bg='white',fg='black',bd=1 ) TVA.pack() label_subtitle = Label(frame,text="nombre reportage",font=("Helvetica", 15),bg='white',fg='black') label_subtitle.pack() nombre_reportage= Entry(frame,font=("Helvetica", 20),bg='white',fg='black',bd=1 ) nombre_reportage.pack() label_subtitle = Label(frame,text="Prix/reportage",font=("Helvetica", 15),bg='white',fg='black') label_subtitle.pack() prix_reportage = Entry(frame,font=("Helvetica", 20),bg='white',fg='black',bd=1 ) prix_reportage.pack() label_subtitle = Label(frame,text="nombre suppléments image",font=("Helvetica", 15),bg='white',fg='black') label_subtitle.pack() nombre_supplement_image = Entry(frame,font=("Helvetica", 20),bg='white',fg='black',bd=1 ) nombre_supplement_image.pack() label_subtitle = Label(frame,text="Prix/suppléments image",font=("Helvetica", 15),bg='white',fg='black') label_subtitle.pack() prix_supplement_image = Entry(frame,font=("Helvetica", 20),bg='white',fg='black',bd=1 ) prix_supplement_image.pack() label_subtitle = Label(frame,text="inflation en %",font=("Helvetica", 15),bg='white',fg='black') label_subtitle.pack() inflation = Entry(frame,font=("Helvetica", 20),bg='white',fg='black',bd=1 ) inflation.pack() label_subtitle = Label(frame,text="Coûts déplacements",font=("Helvetica", 15),bg='white',fg='black') label_subtitle.pack() prix_deplacement = Entry(frame,font=("Helvetica", 20),bg='white',fg='black',bd=1 ) prix_deplacement.pack() label_subtitle = Label(frame,text="Réduction en €",font=("Helvetica", 15),bg='white',fg='black') label_subtitle.pack() reduction= Entry(frame,font=("Helvetica", 20),bg='white',fg='black',bd=1 ) reduction.pack() ttk.Button(win, text= "When you are finish click here", command=total).pack(pady= 20, side=BOTTOM) frame.pack(side =TOP) win.mainloop() total()
voici le code avec moins d'erreurs
4 déc. 2022 à 19:07
voici le code erreur :
Traceback (most recent call last):
File "/Users/kalixarekos/PycharmProjects/Devis/main.py", line 81, in <module>
total()
File "/Users/kalixarekos/PycharmProjects/Devis/main.py", line 14, in total
nbr_report = int(nombre_reportage.get())
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/__init__.py", line 3043, in get
return self.tk.call(self._w, 'get')
_tkinter.TclError: invalid command name ".!frame.!entry2"
Modifié le 4 déc. 2022 à 19:19
Avec ton nouveau code, je n'ai pas de message d'erreur, j'ai bien 2 résultats affichés (faux à mon avis, mais c'est un autre problème).
Par contre, il y a toujours autant d'avertissements
4 déc. 2022 à 19:47
from tkinter import * from tkinter import ttk # Create an instance of tkinter frame win = Tk() # Set the size of the tkinter window win.geometry("700x600") frame = Frame(win, bg='white') def total(): nbr_report = int(nombre_reportage.get()) prix_report = int(prix_reportage.get()) nbr_sup_image = int(nombre_supplement_image.get()) prix_sup_image = int(prix_supplement_image.get()) taxe = int(TVA.get()) inf = int(inflation.get()) p_deplacement = int(prix_deplacement.get()) reduc = int(reduction.get()) montant_brute = ((((nbr_report*prix_report)+(nbr_sup_image*prix_sup_image)+p_deplacement-reduc)*inf)/100) montant_ttc = ((montant_brute * taxe)/100) print(montant_brute) print(montant_ttc) def button_click(): pass label_title = Label(frame, text="TVA en %", font=("Helvetica", 15), bg='white', fg='black') label_title.pack() TVA = Entry(frame, font=("Helvetica", 20), bg='white', fg='black', bd=1) TVA.pack() label_subtitle = Label(frame, text="nombre reportage", font=("Helvetica", 15), bg='white', fg='black') label_subtitle.pack() nombre_reportage = Entry(frame, font=("Helvetica", 20), bg='white', fg='black', bd=1) nombre_reportage.pack() label_subtitle = Label(frame, text="Prix/reportage", font=("Helvetica", 15), bg='white', fg='black') label_subtitle.pack() prix_reportage = Entry(frame, font=("Helvetica", 20), bg='white', fg='black', bd=1) prix_reportage.pack() label_subtitle = Label(frame, text="nombre suppléments image", font=("Helvetica", 15), bg='white', fg='black') label_subtitle.pack() nombre_supplement_image = Entry(frame, font=("Helvetica", 20), bg='white', fg='black', bd=1) nombre_supplement_image.pack() label_subtitle = Label(frame, text="Prix/suppléments image", font=("Helvetica", 15), bg='white', fg='black') label_subtitle.pack() prix_supplement_image = Entry(frame, font=("Helvetica", 20), bg='white', fg='black', bd=1) prix_supplement_image.pack() label_subtitle = Label(frame, text="inflation en %", font=("Helvetica", 15), bg='white', fg='black') label_subtitle.pack() inflation = Entry(frame, font=("Helvetica", 20), bg='white', fg='black', bd=1) inflation.pack() label_subtitle = Label(frame, text="Coûts déplacements", font=("Helvetica", 15), bg='white', fg='black') label_subtitle.pack() prix_deplacement = Entry(frame, font=("Helvetica", 20), bg='white', fg='black', bd=1) prix_deplacement.pack() label_subtitle = Label(frame, text="Réduction en €", font=("Helvetica", 15), bg='white', fg='black') label_subtitle.pack() reduction = Entry(frame, font=("Helvetica", 20), bg='white', fg='black', bd=1) reduction.pack() ttk.Button(win, text="When you are finish click here", command=total).pack(pady=20, side=BOTTOM) frame.pack(side=TOP) win.mainloop() total()
j'arrive pas à corriger les 2 derniers une idée ?
4 déc. 2022 à 20:16
Quels deux derniers?
4 déc. 2022 à 20:20
Qu'essaies-tu de réaliser?
Pourquoi ce code en ligne 81?
4 déc. 2022 à 20:37
Whismeril m'embête avec les messages d'avertissements
4 déc. 2022 à 20:38
c'est bon le problème est réglé
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question4 déc. 2022 à 21:38
Désolé de t'embêter à essayer de te faire coder correctement.
Après si tu considères qu'un faux résultat correspond à ce que tu veux alors
c'est bon le problème est réglé
On pourrait à ce que le montant brut soit 100 et le montant TTC 120, qu'en penses-tu ?
Ce n'est pas plus concluant avec un peu d'inflation.
Testé avec le code de 19:47
4 déc. 2022 à 16:02
merci mais ça ne règle pas le problème de la récupération des Entry^^