CODIGO
from Tkinter import *
def lineas(ventanaP):
lineas= Canvas(width=210, height=210,bg="black") #lienzo donde va la figura
lineas.pack() #carga la linea
lineas.create_line(0,200,200,0, width=10, fill="white") #cordenadas de la linea a crear
def ejecutar(f):
ventanaP.after(200,f) #ejecuta las funciones
ventanaP=Tk()
ventanaP.title("Ventana de figura con un boton")
ventanaP.config(bg="purple") #color de fondo de la ventana
ventanaP.geometry("500x500") #tamano de la ventana a crear
boton=Button(ventanaP, text="Mostrar linea",command=lambda : ejecutar(lineas(ventanaP))) #comando lambda para llamar a las funciones
boton.pack()
ventanaP.mainloop()
Tenemos definidos dos procesos con la instruccion "def" que son lineas(que recibe como parametro la ventana que vamos a crear) y ejecutar(sera el encargado de iniciar todo el programa).
Como podemos observar, dentro de ventana se ven nuevas funciones que permiten la configuracion de su "background" con un color solido, al igual que las dimensiones que tendra nuestra ventana.
Dentro de la intruccion lineas tenemos varias funciones que nos permiten realizar diversas cosas; primeramente con Canvas nos permite crear un lienzo con las especificaciones necesarias para el trazado de la linea que queremos (ancho,alto y el color que tendra nuestro lienzo), de igual forma la funcion "create_line" nos da la opcion de especificar como queremos la linea a dibujar.
Resultado
Una pequeña configuracion.
Como vemos en la siguiente imagen, la funcion ejecutar esta en comentario y ahora en lugar de dibujar una linea sera un cuadrado(debido a las medidas que se le dieron).
Lo que permite optimizar un poco el codigo que antes se tenia con un solo procedimiento pero para una figura diferente (dependiendo de la funcion "create" que se utilice).
Modificando las medidas y la funcion tenemos otros dos ejemplos con la misma funcion "create_rectangle" y "create_oval"
Rectangulo
from Tkinter import *
def Rectangulo(ventanaP):
Rectangulo= Canvas(width=210, height=210,bg="black") #lienzo donde va la figura
Rectangulo.pack() #carga la linea
Rectangulo.create_rectangle(10,10,200,100, width=10, fill="white") #cordenadas de la linea a crear
#def ejecutar(f):
#ventanaP.after(200,f) #ejecuta las funciones
ventanaP=Tk()
ventanaP.title("Ventana de figura con un boton")
ventanaP.config(bg="purple") #color de fondo de la ventana
ventanaP.geometry("500x500") #tamano de la ventana a crear
boton=Button(ventanaP, text="Mostrar linea",command=lambda : Rectangulo(ventanaP)) #comando lambda para llamar a las funciones
boton.pack()
ventanaP.mainloop()
Circulo
from Tkinter import *
def circulo(ventanaP):
circulo= Canvas(width=210, height=210,bg="black") #lienzo donde va la figura
circulo.pack() #carga la linea
circulo.create_oval(10,10,200,200, width=10, fill="white") #cordenadas de la linea a crear
#def ejecutar(f):
#ventanaP.after(200,f) #ejecuta las funciones
ventanaP=Tk()
ventanaP.title("Ventana de figura con un boton")
ventanaP.config(bg="purple") #color de fondo de la ventana
ventanaP.geometry("500x500") #tamano de la ventana a crear
boton=Button(ventanaP, text="Mostrar linea",command=lambda : circulo(ventanaP)) #comando lambda para llamar a las funciones
boton.pack()
ventanaP.mainloop()








from Tkinter import *
ResponderBorrarventanaP = Tk() #crea una objeto tipo ventana
ventanaP.title("Hare un poligono")
ventanaP.config(bg="brown") #Dar color al fondo de la ventana
ventanaP.geometry('500x500') #Dar ancho y alto de la ventana en pixeles
def poligono(ventanaP):
panel = Canvas(width= 400, height = 400, bg = 'red')#seria el lienzo canvas deon va fig
panel.create_polygon(200, 10, 380, 280, 10, 100, 360, 100, 10, 280, width=5, fill='', outline='green') #Coordenadas para la creacion del poligono
panel.pack()
#def ejecutar(f):
#ventanaP.after(200, f)#forma de ejecutar las funciones
boton = Button(ventanaP, text="Mostrar linea" , command= lambda: poligono(ventanaP))
boton.pack()
ventanaP.mainloop()