Practica con tkColorChooser programa solo linea
El tkColoChooser nos permite elegir colores de la gama de colores, lo cual nos abre las siguiente ventana, en la cual se muestran la gama de colores.
# -*-# -*- coding: utf-8 -*-
from Tkinter import *
import tkColorChooser #libreria para obtener la gama de colores
#crecion de la ventana principal
v0 = Tk()
v0.title('Ventana principal')
v0.config(bg = 'brown') #bg para el color de fondo de la ventana
v0.geometry('500x500')#tamaño de la ventana
v0.iconbitmap("descarga.ico")#para cambiar el icono de la ventana
#funciones
def mostrar(num):
#aparece la gamade colores RGB o en numero hexadecimal
a=tkColorChooser.askcolor()
#b=tkColorChooser.askcolor()
#ventana secundaria
v1 = Toplevel(v0)
v1.title('ventana hija')
v1.protocol('Wn_DELETE_WINDOW',"onexit")#para cerrar la ventana por medio de la cruz
v1.geometry('300x300')#tamaño de la ventana
v1.iconbitmap("vhija.ico") # para cambiar el icono de la ventana
#condiciones para los botones
if num == 1:
canvas1=Canvas(v1,width=200,height=200, bg='white')#(b[1])) esto es para seleccionar el color de fondo# OBJETO DE LA TKINTER CANVAS(FIGURAS) 200 pixeles de ancho 200 ancho
canvas1.pack(expand = YES, fill = BOTH) #DESPLEGAR EL CANVAS, EXPAND QUE SEA EXPANDIBLE
canvas1.create_line(100,200,200,100, width = 10, fill=(a[1]))#en fil añadimos (a[1]) para que se coloque el color seleccionado en el trazo
elif num == 2:
canvas2 = Canvas(v1, width=200, height=200,
bg='white') # OBJETO DE LA TKINTER CANVAS(FIGURAS) 200 pixeles de ancho 200 ancho
canvas2.pack(expand=YES, fill=BOTH) # DESPLEGAR EL CANVAS, EXPAND QUE SEA EXPANDIBLE
canvas2.create_rectangle(10, 200, 200, 10, width=10, fill=(a[1]))
# circulo
elif num == 3:
canvas3 = Canvas(v1, width=200, height=200,
bg='white') # OBJETO DE LA TKINTER CANVAS(FIGURAS) 200 pixeles de ancho 200 ancho
canvas3.pack(expand=YES, fill=BOTH) # DESPLEGAR EL CANVAS, EXPAND QUE SEA EXPANDIBLE
canvas3.create_oval(10, 200, 200, 10, width=10, fill=(a[1]))
# poligono
elif num == 4: #El polygono de Hugo
canvas4 = Canvas(v1, width=200, height=200,
bg='white') # OBJETO DE LA TKINTER CANVAS(FIGURAS) 200 pixeles de ancho 200 ancho
canvas4.pack(expand=YES, fill=BOTH) # DESPLEGAR EL CANVAS, EXPAND QUE SEA EXPANDIBLE
puntos = [102, 201, 233, 134, 431, 331, 122, 134]
canvas4.create_polygon(puntos, width=10, fill=(a[1]))
elif num == 5: #La estrella de zapata
canvas5 = Canvas(v1, width=200, height=200,
bg='white') # OBJETO DE LA TKINTER CANVAS(FIGURAS) 200 pixeles de ancho 200 ancho
canvas5.pack(expand=YES, fill=BOTH) # DESPLEGAR EL CANVAS, EXPAND QUE SEA EXPANDIBLE
puntos = [10,40,40,40,50,10,60,40,90,40,65,60,75,90,50,70,25,90,35,60]
canvas5.create_polygon(puntos, width=10, fill=(a[1]))
def ocultar(ventana):ventana.destray()
def ejecutar(f):v0.after(200,f)
#botones
# V0 donde se va desplegar el boton
b1 = Button(v0, text='Abrir ventana con linea', command=lambda: ejecutar(mostrar(1)))
b1.grid(row=1, column=1) # desplegar boton
b2=Button(v0,text='Abrir ventana cuadro',command=lambda:ejecutar(mostrar(2)))
b2.grid(row=1,column=2) #desplegar boton
b3=Button(v0,text='Abrir ventana circulo',command=lambda:ejecutar(mostrar(3)))
b3.grid(row=1,column=3) #desplegar boton
b4=Button(v0,text='Abrir ventana poligono',command=lambda:ejecutar(mostrar(4)))
b4.grid(row=1,column=4) #desplegar boton
b5=Button(v0,text='Abrir ventana poligono',command=lambda:ejecutar(mostrar(5)))
b5.grid(row=1,column=5) #desplegar boton
v0.mainloop()
El resultado de este cogigo es el siguiente:
Nos muestra la ventana con los botones para elegir la figura:
Segun sea la figura que hayamos seleccionado, en cualquier de los casos nos aparecerá la ventana de color, una vez seleccionado el color le damos en aceptar:
La siguiente imagen aparecen todas las figuras creadas, y los colores fueron seleccionados con el tkcolorchooser:
Comentarios
Publicar un comentario