Tkinter - La fonction .get() ne fonctionne pas

Firamen_9118 Messages postés 3 Statut Membre -  
Jithel Messages postés 1049 Statut Membre -
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.

1 réponse

  1. Jithel Messages postés 1049 Statut Membre 171
     
    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 )
    1
    1. Firamen_9118 Messages postés 3 Statut Membre
       
      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
      0
    2. Jithel Messages postés 1049 Statut Membre 171
       
      Oui, mais cette fois-ci l'erreur est différente. Je peux l'avoir ?
      0
    3. Firamen_9118 Messages postés 3 Statut Membre
       
      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.
      0
    4. Jithel Messages postés 1049 Statut Membre 171
       
      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())
      
      0