Botón que despliega una figura con lienzo en pycharm 

Veremos varios ejemplos de figuras sobre lienzos en pycharm. basicamente se utilizara el mismo codigo pero con diversas variaciones, el codigo es el siguiente:

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 instrucción "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 configuración de su "background" con un color solido, al igual que las dimensiones que tendrá nuestra ventana.

Dentro de la instrucción 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 tendrá nuestro lienzo), de igual forma la función "create_line" nos da la opción de especificar como queremos la linea a dibujar.



La función ejecutar se pondrá en comentario y ahora en lugar de dibujar una linea sera  un cuadrado. Esto permite optimizar un poco el codigo que antes se tenia con un solo procedimiento pero para una figura diferente



Lo mismo para realizar un rectángulo, se le dan otras medidas y se le cambian unas palabras en el código, la palabra reservada seria create_rectangule.



Tambien para crear un circulo se utiliza create_oval.



Comentarios

Entradas populares