Tratando de hacer que mis ventanas GUI salgan automáticamente cuando abro la siguiente ventana.
¿Cómo puedo hacer para que se cancele automáticamente esta primera ventana cuando haga clic en el botón de la siguiente ventana?
Código de ejemplo:
from tkinter import *
from tkinter import messagebox
root = Tk()
root.title("Práctica de GUI")
def open():
top = Toplevel() # nueva ventana
top.title("Kokomi")
labels = Label(top, text="Esta se cerrará automáticamente cuando presione el botón de la siguiente ventana").pack()
button2 = Button(top,text="Cerrar ventana", command=top.destroy).pack()
button3 = Button(top,text="Siguiente ventana", command=open2).pack()
def open2():
top = Toplevel() # nueva ventana
top.title("Guía")
labels = Label(top, text="fin").pack()
button2 = Button(top, text="Cerrar ventana", command=top.destroy).pack()
button = Button(root, text="Abrir (No es necesario cerrar esto)", command=open).pack()
root.mainloop()
Haz clic en Abrir
Haz clic en [Nueva ventana] y después de eso esta ventana debería desaparecer y continuar hacia la tercera imagen. Haz clic en [Cerrar ventana] para cerrar la segunda ventana.
La segunda imagen desaparecerá cuando haga clic en la siguiente ventana.
davy.ai
Para cerrar automáticamente la primera ventana al hacer clic en el botón de la siguiente ventana, puede agregar
root.withdraw()
antes de llamar a la funciónopen2()
. Esto ocultará la ventana raíz y se enfocará en la nueva ventana de nivel superior.Aquí está el código modificado:
La función
lambda
se utiliza para combinar dos comandos, es decir, ocultar la ventana raíz y llamar a la funciónopen2()
. De esta manera, la primera ventana se cerrará automáticamente al hacer clic en el botón de la siguiente ventana.¡Espero que esto ayude!