viernes, 15 de septiembre de 2017

Nuevas figuras Tkinter en ventana hija (quesito, arco y pastel)

#-*- coding: utf-8 -*-
from Tkinter import  *

ventanaPrincipal = Tk()  # Tk() Es la ventana principal
ventanaPrincipal.title("Ventana principal") # Título de la ventana
ventanaPrincipal.config(bg="orange")  # Le da color al fondo
ventanaPrincipal.geometry("600x400")  # Cambia el tamaño de la ventana

def ventanaH():
    ventanaHija = Toplevel(ventanaPrincipal)
    ventanaHija.title("Ventana hija")
    ventanaHija.protocol("WM_DELETE_WINDOW", "onexit")
    return ventanaHija


def ejecutar(f):
    ventanaPrincipal.after(200, f)  # Una forma de ejecutar las funciones


def circulo():
    ventana = ventanaH()
    ventana.deiconify()
    figura = Canvas(ventana)
    figura.config(width=210, height=210,bg='red')  # Lienzo con las medidas y color sobre el que se dibujará la figura
    figura.pack(expand=YES, fill=BOTH)  # Sirve para cargar la figura
    figura.create_oval(10, 10, 200, 200, width=3, fill='blue')  # Coordenadas y características de la figura

    botonVentanaHija = Button(ventana, text="Cerrar", command=lambda: ejecutar(ventana.destroy()))
    botonVentanaHija.pack()


def rectangulo():
    ventana = ventanaH()
    ventana.deiconify()
    figura = Canvas(ventana)
    figura.config(width=210, height=210,bg='white')  # Lienzo con las medidas y color sobre el que se dibujará la figura
    figura.pack(expand=YES, fill=BOTH)  # Sirve para cargar la figura
    figura.create_rectangle(10, 10, 200, 200, width=5, fill='yellow')  # Coordenadas y características de la figura

    botonVentanaHija = Button(ventana, text="Cerrar", command=lambda: ejecutar(ventana.destroy()))
    botonVentanaHija.pack()


def lineas():
    ventana = ventanaH()
    ventana.deiconify()
    figura = Canvas(ventana)
    figura.config(width=210, height=210,bg='gray')  # Lienzo con las medidas y color sobre el que se dibujará la figura
    figura.pack(expand=YES, fill=BOTH)  # Sirve para cargar la figura
    figura.create_line(0, 200, 200, 0, width=10, fill='purple')  # Coordenadas y características de la figura

    botonVentanaHija = Button(ventana, text="Cerrar", command=lambda: ejecutar(ventana.destroy()))
    botonVentanaHija.pack()


def quesito():
    ventana = ventanaH()
    ventana.deiconify()
    figura = Canvas(ventana)
    figura.config(width=300, height=200, bg='white')  # Lienzo con las medidas y color sobre el que se dibujará la figura
    figura.pack(expand=YES, fill=BOTH)  # Sirve para cargar la figura
    figura.create_arc(10, 10, 190, 190, width=3, start=270, extent=90, fill='pink')  # Coordenadas y características de la figura

    botonVentanaHija = Button(ventana, text="Cerrar", command=lambda: ejecutar(ventana.destroy()))
    botonVentanaHija.pack()


def arco():
    ventana = ventanaH()
    ventana.deiconify()
    figura = Canvas(ventana)
    figura.config(width =300, height=200, bg='gray')  # Lienzo con las medidas y color sobre el que se dibujará la figura
    figura.pack(expand=YES, fill=BOTH)  # Sirve para cargar la figura
    figura.create_arc(10, 10, 190, 190, width=3, start=0, extent=270, fill='yellow')  # Coordenadas y características de la figura

    botonVentanaHija = Button(ventana, text="Cerrar", command=lambda: ejecutar(ventana.destroy()))
    botonVentanaHija.pack()


def pastel():
    ventana = ventanaH()
    ventana.deiconify()
    figura = Canvas(ventana)
    figura.config(width=300, height=300, bg='gray')  # Lienzo con las medidas y color sobre el que se dibujará la figura
    figura.pack(expand=YES, fill=BOTH)  # Sirve para cargar la figura
    figura.create_arc(10, 10, 190, 190, width=3, start=0, extent=270, fill='orange')  # Coordenadas y características de la figura
    figura.create_arc(20, 20, 200, 200, width=3, start=270, extent=90, fill='brown')

    botonVentanaHija = Button(ventana, text="Cerrar", command=lambda: ejecutar(ventana.destroy()))
    botonVentanaHija.pack()


botonCirculo = Button(ventanaPrincipal, text="Mostrar circulo", command=lambda: ejecutar (circulo()))  # Primer boton
botonCirculo.grid (row=1, column=1)  # El botón es cargado

botonRectangulo = Button(ventanaPrincipal, text="Mostrar rectangulo", command=lambda: ejecutar (rectangulo()))  # Primer boton
botonRectangulo.grid (row=1, column=2)  # El botón es cargado

botonLineas = Button(ventanaPrincipal, text="Mostrar linea", command=lambda: ejecutar (lineas()))  # Primer boton
botonLineas.grid (row=1, column=3)  # El botón es cargado

botonQuesito = Button(ventanaPrincipal, text="Mostrar quesito", command=lambda: ejecutar (quesito()))  # Primer boton
botonQuesito.grid (row=1, column=4)  # El botón es cargado

botonArco = Button(ventanaPrincipal, text="Mostrar arco", command=lambda: ejecutar (arco()))  # Primer boton
botonArco.grid (row=1, column=5)  # El botón es cargado

botonPastel = Button(ventanaPrincipal, text="Mostrar pastel", command=lambda: ejecutar (pastel()))  # Primer boton
botonPastel.grid (row=1, column=6)  # El botón es cargado

ventanaPrincipal.mainloop()



No hay comentarios:

Publicar un comentario