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
Publicar un comentario