Forum
>>
Programmazione Python
>>
GUI
>>
problema con il .get e il keyerror
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da giovanni18 |
2018-11-12 16:24:49 - problema con il .get e il keyerror
|
ciao a tutti!
ringrazio in anticipo chiunque riesca a darmi una risposta, premetto che sono nuovo nel settore della programmazione, quindi non so ancora poco. io sto creando un programma per il calcolo delle temperature interstiziali di una parete e sto sfruttando tkinter per crearne la GUI, tuttavia mi da questo errore: Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\gioviAppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1702, in __call__ return self.func(*args) File "C:\Users\giovi\Desktop\programma super powa\FILE SISTEMA\app1.py", line 231, in controlloavanti locals()["spesStrat"+str(r)] = locals()["b"+"spesStrat"+str(r)+"input"].get() KeyError: 'bspesStrat1input' quando eseguo il .get in questa parte del programma: def avanti(): Nstrat=Nstratinput.get() Nstrat =int(Nstrat) n1=13 r=0 i=0 for i in range(Nstrat): locals()["b"+"spesStrat"+str(r)]=Label(zonainserimento,text="digittare lo SPESSORE dello strato N°"+str(r)+" m:") locals()["b"+"spesStrat"+str(r)].grid(row=n1,column=0) locals()["b"+"spesStrat"+str(r)+"input"]=Entry(zonainserimento,bg="grey") locals()["b"+"spesStrat"+str(r)+"input"].focus_set() locals()["b"+"spesStrat"+str(r)+"input"].grid(row=n1,column=1) n1=n1+1 locals()["b"+"condStrat"+str(r)]=Label(zonainserimento,text="digittare la CONDUTTIVITA termica dello strato N°"+str(r)+" [w/m*k]:") locals()["b"+"condStrat"+str(r)].grid(row=n1,column=0) locals()["b"+"condStrat"+str(r)+"input"]=Entry(zonainserimento,bg="grey") locals()["b"+"condStrat"+str(r)+"input"].focus_set() locals()["b"+"condStrat"+str(r)+"input"].grid(row=n1,column=1) n1=n1+1 r=r+1 pulsanteAVANTI.grid_remove() ##debug def controlloavanti(): Nstrat=Nstratinput.get() Nstrat =int(Nstrat) r=1 i=0 for i in range(Nstrat): try: locals()["spesStrat"+str(r)] = locals()["b"+"spesStrat"+str(r)+"input"].get() locals()["spesStrat"+str(r)] =float(locals()["spesStrat"+str(r)]) return locals()["spesStrat"+str(r)] M2=2 except ValueError: M2=1 if M2==1: (locals()["spesStrat"+str(r)+"input"]).configure(bg="red") if M2!=1: (locals()["spesStrat"+str(r)+"input"]).configure(bg="green") try: locals()["condStrat"+str(r)] = locals()["b"+"condStrat"+str(r)+"input"].get() locals()["condStrat"+str(r)]=float(locals()["condStrat"+str(r)]) return locals()["condStrat"+str(r)] N2=2 except ValueError: N2=1 if N2==1: (locals()["condStrat"+str(r)]).configure(bg="red") if N2!=1: (locals()["condStrat"+str(r)]).configure(bg="green") r=r+1 pulsanteCONTROLLO1 = Button (zonainserimento, text = "CONTROLLA VALORI",bg="yellow", command =controlloavanti) pulsanteCONTROLLO1.grid(row=n1+3,column=1,padx=15) pulsanteFINE=Button(zonamedia, text="CALCOLA", bg="yellow", command=calcolo) pulsanteFINE.grid(row=1, column=4) vi posso giurare che le ho provate tutte ma non riesco a venirne a capo. Allego anche il file completo nel caso possa tornarvi utile. |
Pagina: 1
Esegui il login per scrivere una risposta.