3. Ventana madre y ventana hija + Creación de figuras

Este progrma es similar al anterior, solo que en esta ocasión al seleccionar la figura que queremos visualizar, se abrirá otra ventana con dicha figura y aparecerá un boton de ocultar, que cerrará tal ventana y nos regresará a la ventana principal.


from Tkinter import *

def mostrar(num):
    v1=Toplevel(v0)
    v1.title('Ventana Hija')
    v1.protocol('WM_DELETE_WINDOW', 'onexit')
    v1.config(bg='pink')
    v1.geometry('500x500')
    if num==1:
        hola=Canvas(v1, width=300, height=210, bg='black')
        hola.pack(expand=YES, fill=BOTH)
        hola.create_oval(10,10,200,200,width=5, fill='pink')
        b3=Button(hola, text='ocultar', command=lambda: ejecutar(ocultar(v1)))
        b3.grid(row=1, column=3)
    elif num==2:
        hola = Canvas(v1, width=300, height=210, bg='black')
        hola.pack(expand=YES, fill=BOTH)
        hola.create_rectangle(70, 70, 200, 200, width=5, fill='pink')
        b3 = Button(hola, text='ocultar', command=lambda: ejecutar(ocultar(v1)))
        b3.grid(row=1, column=3)
    elif num==3:
        hola = Canvas(v1, width=300, height=210, bg='black')
        hola.pack(expand=YES, fill=BOTH)
        hola.create_line(10, 10, 200, 200, width=5, fill='pink')
        b3 = Button(hola, text='ocultar', command=lambda: ejecutar(ocultar(v1)))
        b3.grid(row=1, column=3)
    elif num==4:
        hola = Canvas(v1, width=300, height=210, bg='black')
        hola.pack(expand=YES, fill=BOTH)
        hola.create_line(10, 10, 200, 200, width=5, fill='pink')
        hola.create_line(200, 10, 10, 200, width=5, fill='pink')
        b3 = Button(hola, text='ocultar', command=lambda: ejecutar(ocultar(v1)))
        b3.grid(row=1, column=3)
    elif num == 5:
        hola = Canvas(v1, width=300, height=210, bg='black')
        hola.pack(expand=YES, fill=BOTH)
        hola.create_polygon(200, 15, 380, 280, 15, 100, 380, 100, 10, 280, width=5, fill='pink')
        b3 = Button(hola, text='ocultar', command=lambda: ejecutar(ocultar(v1)))
        b3.grid(row=1, column=3)
    elif num == 6:
       hola = Canvas(v1, width=300, height=310, bg="black")
       hola.pack(expand=YES, fill=BOTH)
       hola.create_polygon(160,160,199.5,121.5,240,120,260,140,340,140,360,120,359.7,101.8,
                           340,100,320.4,81.4,360,80,380,100,380.1,121.5,360,140,360,240,
                           340,240,340,200,258.6,198.9,260,241.6,237.6,238.9,240,200,
                           220,160,200,200,fill="lightblue", outline="brown", width=6)
       b3 = Button(hola, text='ocultar', command=lambda: ejecutar(ocultar(v1)))
       b3.grid(row=1, column=3)


def ocultar(ventana):
    ventana.destroy()

def ejecutar(f):
    v0.after(200,f)

v0=Tk()
v0.title("Ventana Madre")
v0.config(bg='black')
v0.geometry('500x500')

b1=Button(v0, text='Abrir ventana con circulo', command=lambda: ejecutar(mostrar(1)))
b1.grid(row=1,column=1)

b2=Button(v0, text='Abrir ventana con cuadro', command=lambda: ejecutar(mostrar(2)))
b2.grid(row=3,column=1)

b3=Button(v0, text='Abrir ventana con linea', command=lambda: ejecutar(mostrar(3)))
b3.grid(row=5,column=1)

b4=Button(v0, text='Abrir ventana con cruz', command=lambda: ejecutar(mostrar(4)))
b4.grid(row=7,column=1)

b5=Button(v0, text='Abrir ventana con poligono', command=lambda: ejecutar(mostrar(5)))
b5.grid(row=9,column=1)

b6=Button(v0 ,text='Abrir ventana con poligono de perro', command=lambda: ejecutar(mostrar(6)))
b6.grid(row=6,column=1)


v0.mainloop()





Comentarios

Entradas populares de este blog

3. Suma, resta y multiplicaión en Tkinter

2. Creación de figuras con Tkinter

Evaluación de la Unidad 1: Introducción a los ambientes de graficación (TEORÍA)