Menu

Tkinter - La fonction .get() ne fonctionne pas

Messages postés
3
Date d'inscription
vendredi 4 janvier 2019
Dernière intervention
4 janvier 2019
-
Bonjour,

Je suis débutant en programmation et je me lance dans un code pour apprendre, car comme on dit "on n'est jamais mieux former que sur le terrain", le problème c'est que je ne trouve pas pourquoi ma fonction .get() ne fonctionne pas !

from tkinter import *

#DEFINITION DE TOUTES LES FONCTIONS

def main():
 main=Tk()
 main['bg']='black'
 main.geometry("1000x800+100+100")
 main.title('GLOBAL RESCUE SYSTEM')
 Menu=Label(main,text='Bienvenue sur GRS\nVous êtes dans le menu principal, veuillez choisir :', bg='black', fg='white').pack()
 INTERVENTION=Button(main,text='Gestion d\'une intervention', command=intervention).pack()
 OPERATION=Button(main,text='Gestion opérationnelle').pack()
 CTACODIS=Button(main,text='CTA-CODIS').pack()
 QUITTER=Button(main,text='QUITTER GRS', command=quit).pack()

def intervention():
 inter=Tk()
 inter['bg']='black'
 inter.geometry("1000x800+100+100")
 inter.title('GRS - Gestion d\'une intervention')
 intervention=Label(inter,text='Bienvenue sur l\'interface de gestion des intervention\nChoisissez le type d\'intervention :', bg='black', fg='white').pack()
 SUAP=Button(inter,text='SUAP', command=suap).pack()
 INCENDIE=Button(inter,text='Incendie').pack()
 OP_DIV=Button(inter,text='Opération diverse').pack()
 ACCIDENT=Button(inter,text='Accident').pack()
 RETURN=Button(inter,text='Retour au menu principal', command=inter.destroy).pack()

def suap():
 suap=Tk()
 suap['bg']='black'
 suap.geometry("1000x800+100+100")
 suap.title('GRS - Gestion d\'une intervention SUAP')
 t1=Label(suap,text='Numéro de l\'intervention :',bg='black',fg='white').pack()
 e1=Entry(suap,width=10,bg='#808080').pack()
 TypeInter=Listbox(suap,width=45,bg='#303030',fg='white',yscrollcommand=True)
 TypeInter.insert(1, "BLESSE DOMICILE")
 TypeInter.insert(2, "BLESSE VP")
 TypeInter.insert(3, "BLESSE ERP")
 TypeInter.insert(4, "BLESSE SPORT")
 TypeInter.insert(5, "MALAISE/MALADIE DOMICILE")
 TypeInter.insert(6, "MALAISE/MALADIE VP")
 TypeInter.insert(7, "MALAISE/MALADIE ERP")
 TypeInter.insert(8, "URGENCE VITALE BLESSE DOMICILE")
 TypeInter.insert(9, "URGENCE VITALE BLESSE VP")
 TypeInter.insert(10, "URGENCE VITALE BLESSE ERP")
 TypeInter.insert(11, "URGENCE VITALE BLESSE SPORT")
 TypeInter.insert(12, "URGENCE VITALE MALAISE/MALADIE DOMICILE")
 TypeInter.insert(13, "URGENCE VITALE MALAISE/MALADIE VP")
 TypeInter.insert(14, "URGENCE VITALE MALAISE/MALADIE ERP")
 TypeInter.pack()
 t2=Label(suap,text='Nombre de victime(s) :').pack()
 g1=StringVar()
 e2=Entry(suap,width=5,textvariable=g1,bg='#808080').pack()
 NombreVictime=int(get.g1())

 test=Label(suap,text=print(NombreVictime)).pack()


 RETURN=Button(suap,text='Retour à la gestion d\'intervention',command=suap.destroy).pack()



#LAUNCH

main()


Le message d'erreur est le suivant :
Exception in Tkinter callback
Traceback (most recent call last):
File "D:\Program Files (x86)\Python\lib\idlelib\run.py", line 137, in main
seq, request = rpc.request_queue.get(block=True, timeout=0.05)
File "D:\Program Files (x86)\Python\lib\queue.py", line 172, in get
raise Empty
queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\Program Files (x86)\Python\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
File "D:\Documents\Algo\GRS.0.1.py", line 55, in suap
NombreVictime=int(get.g1())
NameError: name 'get' is not defined

Bon je sais que pour l'instant la valeur est récupérée dès la création de l'Entry, je n'ai pas encore eu le temps de faire un bouton, mais j'avais déjà essayer avant et j'avais la même erreur.

Donc voilà, si quelqu'un peut m'aider ce serait très gentil.
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
648
Date d'inscription
mercredi 20 juin 2018
Dernière intervention
17 janvier 2019
44
1
Merci
NombreVictime=int(get.g1())


Aucune variable ne s'appelle get dans ton code. get n'est pas défini (d'où l'erreur : NameError: name 'get' is not defined )

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 56078 internautes nous ont dit merci ce mois-ci

Firamen_9118
Messages postés
3
Date d'inscription
vendredi 4 janvier 2019
Dernière intervention
4 janvier 2019
-
Oui merci, je me suis tromper dans le sens d'écriture j'ai noter
get.g1()
au lieu de
g1.get()
.

bon du coup j'ai changer la fin de ma fonction suap()
        t2=Label(suap,text='Nombre de victime(s) :').pack()
	g1=StringVar()
	e2=Entry(suap,width=5,textvariable=g1,bg='#808080').pack()
	Get=Button(suap,text='OK',command=print(g1.get())).pack()


Et j'ai toujours un problème rien n'ai renvoyé quand je clique sur le bouton
Jithel
Messages postés
648
Date d'inscription
mercredi 20 juin 2018
Dernière intervention
17 janvier 2019
44 -
Oui, mais cette fois-ci l'erreur est différente. Je peux l'avoir ?
Firamen_9118
Messages postés
3
Date d'inscription
vendredi 4 janvier 2019
Dernière intervention
4 janvier 2019
-
Je n'ai pas de message d'erreur le code est exécuter sans problème, j'ai juste aucun retour sur la console du
Get=Button(suap,text='OK',command=print(g1.get())).pack()
, mais le bouton apparait bien.
Jithel
Messages postés
648
Date d'inscription
mercredi 20 juin 2018
Dernière intervention
17 janvier 2019
44 -
Je suis pas sûr que ça puisse fonctionner comme ça. Essaye de remplacer la ligne :
Get=Button(suap,text='OK',command=print(g1.get())).pack()


par
Get=Button(suap,text='OK',command=afficher).pack()
def afficher():
   print(g1.get())
Commenter la réponse de Jithel