
error en variable declarada como global
Publicado por eduardo (6 intervenciones) el 19/06/2023 00:55:25
Buenas:
Estoy empezando a aprender python y quise trabajar con este ejemplo que consiste en crear un form principal y por medio de tres botones mostrar y ocultar el mismo .
Este es el codigo :
from tkinter import*
base = Tk()
base.geometry('500x500')
base.title("VENTANA PPAL")
global second
#ABRIR NUEVA VENTANA
def launch():
second = Toplevel()
second.geometry('300x300')
def show():
second.deiconify()
def hide():
second.withdraw()
Button(base,text = 'launch windows' , command=launch).pack( pady = 10 )
Button(base,text = 'show windows' , command=show).pack( pady = 10 )
Button(base,text = 'hide windows' , command=hide).pack( pady = 10 )
# ejecucion del programa
base.mainloop()
----------------------------------------
cuando hago click en el boton 'launch windows' me muestra el form secundario sobre el ppal sin problemas
cuando hago click en el boton show windows me sale este error :
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Usuario\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "C:\python1\ventanasec.py", line 13, in show
second.deiconify()
NameError: name 'second' is not defined
Por lo que vengo leyendo , la variable second al estar definida como global tendria que estar disponible en todo el codgo
Si alguno me puede ayudar estaria agradecido. Gracias
Estoy empezando a aprender python y quise trabajar con este ejemplo que consiste en crear un form principal y por medio de tres botones mostrar y ocultar el mismo .
Este es el codigo :
from tkinter import*
base = Tk()
base.geometry('500x500')
base.title("VENTANA PPAL")
global second
#ABRIR NUEVA VENTANA
def launch():
second = Toplevel()
second.geometry('300x300')
def show():
second.deiconify()
def hide():
second.withdraw()
Button(base,text = 'launch windows' , command=launch).pack( pady = 10 )
Button(base,text = 'show windows' , command=show).pack( pady = 10 )
Button(base,text = 'hide windows' , command=hide).pack( pady = 10 )
# ejecucion del programa
base.mainloop()
----------------------------------------
cuando hago click en el boton 'launch windows' me muestra el form secundario sobre el ppal sin problemas
cuando hago click en el boton show windows me sale este error :
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Usuario\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 1921, in __call__
return self.func(*args)
File "C:\python1\ventanasec.py", line 13, in show
second.deiconify()
NameError: name 'second' is not defined
Por lo que vengo leyendo , la variable second al estar definida como global tendria que estar disponible en todo el codgo
Si alguno me puede ayudar estaria agradecido. Gracias
Valora esta pregunta


0