Código para crear una ventana. |
# -*- coding: utf-8 -*-
from Tkinter import * #Importa el módulo
v0 = Tk() # Tk() Es la ventana principal
v0.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
-------------------------------------------------------------------------------
Crea una ventana con color. |
# -*- coding: utf-8 -*-
from Tkinter import * # Importa el módulo
v0 = Tk() # Tk() Es la ventana principal
v0.config(bg="black") # Le da color al fondo
v0.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
-------------------------------------------------------------------------------
Crear ventana principal y una ventana secundaria. |
# -*- coding: utf-8 -*-
from Tkinter import * # Importa el módulo
v0 = Tk() # Tk() Es la ventana principal
v0.config(bg="red") # Le da color al fondo
v0.geometry("500x500") # Cambia el tamaño de la ventana
v1=Toplevel(v0) # Crea una ventana hija
v0.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
-------------------------------------------------------------------------------
Crea una ventana principal con diferente color y una ventana secundaria |
# -*- coding: utf-8 -*-
from Tkinter import *
v0 = Tk()
v0.config(bg="black")
v0.geometry("500x500")
v1=Toplevel(v0)
v0.mainloop()
-------------------------------------------------------------------------------
Crea una ventana principal con botones para mostrar, ocultar y centrar una ventana secundaria. |
# -*- coding: utf-8 -*-
from Tkinter import *
ventanapri = Tk()
ventanasec=Toplevel(ventanapri)
def mostrar(ventana): ventana.deiconify()
def ocultar(ventana):ventana.withdraw()
def ejecutar(f): ventanapri.after(200,f)
def centrar(ventana):
ventana.update_idletasks()
w=ventana.winfo_width()
h=ventana.winfo_height()
extraW=ventana.winfo_screenwidth()-w
extraH=ventana.winfo_screenheight()-h
ventana.geometry("%dx%d%+d%+d" % (w,h,extraW/2,extraH/2))
ventanapri.config(bg="black")
ventanapri.geometry("500x500")
b1=Button(ventanapri,text="ABRIR VENTANA V1",command=lambda: ejecutar(mostrar(ventanasec)))
b1.grid(row=1,column=1)
b2=Button(ventanapri,text="OCULTAR VENTANA V1",command=lambda: ejecutar(ocultar(ventanasec)))
b2.grid(row=1,column=2)
b3=Button(ventanapri,text="CENTRAR VENTANA 1",command=lambda: ejecutar(centrar(ventanasec)))
b3.grid(row=1,column=3)
b4=Button(ventanapri,text="CERRAR PROGRAMA",command=lambda: ejecutar(exit(ventanapri)))
b4.grid(row=1,column=4)
ventanasec.withdraw()
ventanapri.mainloop()
-------------------------------------------------------------------------------
Crear una ventana principal con una ventana secundaria que se muestra por medio de un botón. |
# -*- coding: utf-8 -*-
from Tkinter import *
v0 = Tk()
v1=Toplevel(v0)
def mostrar(ventana): ventana.deiconify()
def ocultar(ventana):ventana.withdraw()
def ejecutar(f): v0.after(200,f)
v0.config(bg="black")
v0.geometry("500x500")
b1=Button(v0,text="ABRIR VENTANA V1",command=lambda: ejecutar(mostrar(v1)))
b1.grid(row=1,column=1)
b2=Button(v0,text="OCULTAR VENTANA V1",command=lambda: ejecutar(ocultar(v1)))
b2.grid(row=1,column=2)
v1.withdraw()
v0.mainloop()
-------------------------------------------------------------------------------
Crea una ventana principal y una secundaria asignándoles un tamaño mediante el código (.geometry) |
# -*- coding: utf-8 -*-
from Tkinter import * #Importa el moódulo
ventanaprincipal = Tk() # Tk() Es la ventana principal
ventanaprincipal.title("Ventana Primaria")
ventanasechija = Toplevel(ventanaprincipal) # Crea una ventana hija
ventanasechija.title("Segunda Ventana")
ventanasechija.config(bg="Red") # Le da color al fondo
ventanasechija.geometry("500x500") # Cambia el tamaño de la ventana
ventanasechija.protocol("WM_DELETE_WINDOW", "onexit") # Elimina la opción de salir para evitar el error
def mostrar(ventana):
ventana.deiconify() # Muestra una ventana
def ocultar(ventana):
ventana.withdraw() # Oculta una ventana
def ejecutar(f):
ventanaprincipal.after(200, f) # Una forma de ejecutar las funciones
def imprimir(texto):
print texto # Imprime un texto
ventanaprincipal.config(bg="Black") # Le da color al fondo
ventanaprincipal.geometry("500x500") # Cambia el tamaño de la ventana
b1 = Button(ventanaprincipal, text="ABRIR VENTANA V1", command=lambda: ejecutar(mostrar(ventanasechija)) or imprimir("hola") or imprimir("tercera función")) # Primer botón
b1.grid(row=1, column=1) # El botón es cargado
b2 = Button(ventanasechija, text="OCULTAR VENTANA V1", command=lambda: ejecutar(ocultar(ventanasechija))) # Segundo botón
b2.grid(row=1, column=2) # El botón es cargado
b3 = Button(ventanaprincipal, text="SALIR", command=lambda: ejecutar(ocultar(ventanasechija)))
b3.grid(row=1, column=3) # El botón es cargado
ventanasechija.withdraw() # Oculta la ventana v1
ventanaprincipal.mainloop() # Es el evento que llama al inicio de nuestro programa. Siempre lo lleva la ventana principal.
-------------------------------------------------------------------------------
Ventana con botón para mostrar un circulo. |
# -*- coding: utf-8 -*-
from Tkinter import*
ventana = Tk() # Tk() Es la ventana principalventana.title("ventana de figura con boton")
ventana.config(bg='red') # Le da color al fondoventana.geometry("500x500") # Cambia el tamao de la ventana
ventana.geometry("210x210")
def ejecutar(f):
ventana.after(200, f) # Una forma de ejecutar las funciones
def circulo(ventana):
circulo = Canvas(width=210, height=210, bg='green') # aqui se crea el cuadro blanco donde aparece nuestra figura con su ancho y largo que estableci y su color
circulo.pack(expand=YES, fill=BOTH) # sierve para cargar la figura
circulo.create_oval(10, 10, 200, 200, width=3, fill='blue') # radio,
botoncir=Button(ventana, text="ver circulo",
command=lambda:
ejecutar(circulo(ventana))) #Primer boton
botoncir.grid(row=3, column=15) # El botn es cargado
botoncir.grid(row=1, column=1)
ventana.mainloop()
-------------------------------------------------------------------------------
Código que muestra un cuadrado mediante Tkinter. |
# -*- coding: utf-8 -*-
from Tkinter import *
root = Tk()
root.title('Ejemplo')
rectangulo = Canvas(width=210, height=210, bg='white')
rectangulo.pack(expand=YES, fill=BOTH)
rectangulo.create_rectangle(10, 10, 200, 200, width=5, fill='pink')
root.mainloop()
-------------------------------------------------------------------------------
Código que muestra un circulo mediante Tkinter. |
root = Tk()
root.title('Circulo')
circulo = Canvas(width=210, height=210, bg='white')
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=5, fill='pink')
root.mainloop()
-------------------------------------------------------------------------------
Código que muestra dos líneas mediante Tkinter. |
# -*- coding: utf-8 -*-
from Tkinter import *
root = Tk()
root.title('Ejemplo')
linea = Canvas(width=210, height=210, bg='black')
linea.pack(expand=YES, fill=BOTH)
linea.create_line(0, 200, 200, 0, width=10, fill='pink')
linea.create_line(0, 0, 200, 200, width=10, fill='pink')
root.mainloop()
-------------------------------------------------------------------------------
Ventana con botón para mostrar un cuadrado. |
ventana = Tk() # Tk() Es la ventana principalventana.title("ventana de figura con boton")
ventana.config(bg="blue") # Le da color al fondoventana.geometry("500x500") # Cambia el tamao de la ventana
ventana.geometry("500x500")
def ejecutar(f):
ventana.after(200, f) # Una forma de ejecutar las funciones
def rectangulo(ventana):
rectangulo= Canvas(width=210, height=210, bg='red') # aqui se crea el cuadro blanco donde aparece nuestra figura con su ancho y largo que establecido y su color
rectangulo.pack(expand=YES, fill=BOTH)
rectangulo.create_rectangle(10, 10, 200, 200, width=5, fill='yellow')
botonrect = Button(ventana, text="ver cuadro",
command=lambda:
ejecutar(rectangulo(ventana))) # Primer boton
botonrect.grid(row=3, column=15) # El botn es cargado
ventana.mainloop()
-------------------------------------------------------------------------------
Ventana con botón para mostrar una línea. |
# -*- coding: utf-8 -*-
from Tkinter import*
ventana = Tk()
ventana.config(bg="blue")
ventana.geometry("420x420")
def ejecutar(f):
ventana.after(200, f)
def linea(ventana):
linea= Canvas(width=210, height=210, bg='red')
linea.pack(expand=YES, fill=BOTH)
linea.create_line(0, 0, 420,420, width=10, fill='yellow')
botonline = Button(ventana, text="ver linea",
command=lambda:
ejecutar(linea(ventana)))
botonline.grid(row=4, column=5)
ventana.mainloop()
-------------------------------------------------------------------------------
Ventana principal con tres botones que muestran un cuadrado, un circulo y una línea en una ventana secundaria |
# -*- coding: utf-8 -*-
from Tkinter import *
v0 = Tk()
v1=Toplevel(v0)
def mostrar(ventana): ventana.deiconify()
def ocultar(ventana):ventana.withdraw()
def ejecutar(f): v0.after(200,f)
v0.config(bg="black")
v0.geometry("500x500")
def circulo(ventana):
v1.deiconify()
circulo = Canvas(v1,width=210, height=210, bg="red")
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=3, fill='blue')
circulo.config(bg="black")
circulo.geometry("250x250")
def rectangulo(ventana):
v1.deiconify()
rectangulo = Canvas(v1,width=210, height=210, bg="yellow")
rectangulo.pack(expand=YES, fill=BOTH)
rectangulo.create_rectangle(10, 10, 200, 200, width=3, fill='orange')
rectangulo.config(bg="black")
rectangulo.geometry("250x250")
def linea(ventana):
linea= Canvas(v1,width=210, height=210, bg='red')
linea.pack(expand=YES, fill=BOTH)
linea.create_line(0, 0, 200,200, width=10, fill='yellow')
linea.config(bg="purple")
linea.geometry("250x250")
boton2= Button(v1, text="Cerrar", command=lambda: ejecutar(ocultar(v1)))
boton2.pack()
b1=Button(v0,text="Mostrar circulo",command=lambda: ejecutar(circulo(v0)))
b1.grid(row=1,column=3)
b2=Button(v0,text="Mostrar rectangulo",command=lambda: ejecutar(rectangulo(v0)))
b2.grid(row=1,column=2)
b3=Button(v0, text="Mostrar línea", command=lambda: ejecutar(linea(v0)))
b3.grid(row=1, column=4)
v1.withdraw()
v0.mainloop()
-------------------------------------------------------------------------------
# turtle honeycomb
Realizar una secuencia de figuras en python dando la forma de un mosaico de colores. |
# 1.9.2012
# python workshop opentechschool berlin
import turtle
from random import randint
size = 20
circles = 20
turtle.speed(100)
turtle.colormode(255)
def move(length, angle):
turtle.right(angle)
turtle.forward(length)
def hex():
turtle.pendown()
turtle.color( randint(0,255),randint(0,255),randint(0,255) )
turtle.begin_fill()
for i in range(6):
move(size,-60)
turtle.end_fill()
turtle.penup()
# start
turtle.penup()
for circle in range (circles):
if circle == 0:
hex()
move(size,-60)
move(size,-60)
move(size,-60)
move(0,180)
for i in range (6):
move(0,60)
for j in range (circle+1):
hex()
move(size,-60)
move(size,60)
move(-size,0)
move(-size,60)
move(size,-120)
move(0,60)
turtle.exitonclick()
-------------------------------------------------------------------------------
Juego del Gato (Tic Tac Toe) |
import tkMessageBox
import tkSimpleDialog
def bloq():
for i in range(0, 9):
lisb[i].config(state="disable")
def inij():
for i in range(0, 9):
lisb[i].config(state="normal")
lisb[i].config(bg="lightgray")
lisb[i].config(text="")
tab[i] = "N"
global nomj1, nomj2 # indica a que variables queremos acceder
nomj1 = tkSimpleDialog.askstring("Jugador", "Escribe el nombre del jugador 1: ")
nomj2 = tkSimpleDialog.askstring("Jugador", "Escribe el nombre del jugador 2: ")
turj.set("Turno: " + nomj1)
def cam(num):
global turno, nomj1, nomj2
if tab[num] == "N" and turno == 0:
lisb[num].config(text="X")
lisb[num].config(bg="white")
tab[num] = "X"
turno = 1
turj.set("Turno: " + nomj2)
elif tab[num] == "N" and turno == 1:
lisb[num].config(text="O")
lisb[num].config(bg="lightblue")
tab[num] = "O"
turno = 0
turj.set("Turno: " + nomj1)
lisb[num].config(state="disable")
verif()
def verif():
if (tab[0] == "X" and tab[1] == "X" and tab[2] == "X") or (tab[3] == "X" and tab[4] == "X" and tab[5] == "X") or (
tab[6] == "X" and tab[7] == "X" and tab[8] == "X"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj1)
elif (tab[0] == "X" and tab[3] == "X" and tab[6] == "X") or (tab[1] == "X" and tab[4] == "X" and tab[7] == "X") or (
tab[2] == "X" and tab[5] == "X" and tab[8] == "X"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj1)
elif (tab[0] == "X" and tab[4] == "X" and tab[8] == "X") or (tab[2] == "X" and tab[4] == "X" and tab[6] == "X"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj1)
elif (tab[0] == "O" and tab[1] == "O" and tab[2] == "O") or (tab[3] == "O" and tab[4] == "O" and tab[5] == "O") or (
tab[6] == "O" and tab[7] == "O" and tab[8] == "O"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj2)
elif (tab[0] == "O" and tab[3] == "O" and tab[6] == "O") or (tab[1] == "O" and tab[4] == "O" and tab[7] == "O") or (
tab[2] == "O" and tab[5] == "O" and tab[8] == "O"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj2)
elif (tab[0] == "O" and tab[4] == "O" and tab[8] == "O") or (tab[2] == "O" and tab[4] == "O" and tab[6] == "O"):
bloq()
tkMessageBox.showinfo("Ganaste", "Ganaste jugador: " + nomj2)
ven = Tk()
ven.geometry("370x460")
ven.title("Juego del gato")
turno = 0
nomj1 = ""
nomj2 = ""
lisb = []
tab = []
turj = StringVar()
for i in range(0, 9):
tab.append("N")
b0 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(0))
lisb.append(b0)
b0.place(x=50, y=50)
b1 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(1))
lisb.append(b1)
b1.place(x=150, y=50)
b2 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(2))
lisb.append(b2)
b2.place(x=250, y=50)
b3 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(3))
lisb.append(b3)
b3.place(x=50, y=150)
b4 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(4))
lisb.append(b4)
b4.place(x=150, y=150)
b5 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(5))
lisb.append(b5)
b5.place(x=250, y=150)
b6 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(6))
lisb.append(b6)
b6.place(x=50, y=250)
b7 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(7))
lisb.append(b7)
b7.place(x=150, y=250)
b8 = Button(ven, width=9, height=3, relief=SOLID, cursor="pencil", command=lambda: cam(8))
lisb.append(b8)
b8.place(x=250, y=250)
tue = Label(ven, textvariable=turj).place(x=140, y=10)
bini = Button(ven, bg='blue', fg='white', text='Iniciar juego', cursor="sizing", width=15, height=3,
command=inij).place(x=130, y=360)
bloq()
linea = Canvas(ven, width=310, height=10)
linea.place(x=30, y=120)
linea.create_line(310, 0, 0, 0, width=25, fill='black')
l2 = Canvas(ven, width=310, height=10)
l2.place(x=30, y=220)
l2.create_line(310, 0, 0, 0, width=25, fill='black')
l3 = Canvas(ven, width=10, height=310)
l3.place(x=130, y=25)
l3.create_line(0, 310, 0, 0, width=25, fill='black')
l4 = Canvas(ven, width=10, height=310)
l4.place(x=230, y=25)
l4.create_line(0, 310, 0, 0, width=25, fill='black')
ven.mainloop()
-------------------------------------------------------------------------------
Usos de Tkinter: Creación de figuras, poligonos, texto, etc. |
from Tkinter import *
v0 = Tk()
v1 = Toplevel(v0)
v2 = Toplevel(v0)
v3 = Toplevel(v0)
v4 = Toplevel(v0)
v5 = Toplevel(v0)
v6 = Toplevel(v0)
v7 = Toplevel(v0)
v8 = Toplevel(v0)
v9 = Toplevel(v0)
v10 = Toplevel(v0)
v11 = Toplevel(v0)
v12 = Toplevel(v0)
v13 = Toplevel(v0)
v14 = Toplevel(v0)
def mostrar(ventana): ventana.deiconify()
def ocultar(ventana): ventana.withdraw()
def ejecutar(f): v0.after(200, f)
v0.config(bg="black")
v0.geometry("950x950")
def circulo(ventana):
v1.deiconify()
circulo = Canvas(v1, width=210, height=210, bg="red")
circulo.pack(expand=YES, fill=BOTH)
circulo.create_oval(10, 10, 200, 200, width=3, fill='blue')
def rectangulo(ventana):
v2.deiconify()
rectangulo = Canvas(v2, width=210, height=210, bg="yellow")
rectangulo.pack(expand=YES, fill=BOTH)
rectangulo.create_rectangle(10, 10, 200, 200, width=3, fill='orange')
def linea(ventana):
v3.deiconify()
linea = Canvas(v3, width=210, height=210, bg='black')
linea.pack(expand=YES, fill=BOTH)
linea.create_line(500, 500, 0, 0, width=10, fill="red")
def arc(ventana):
v4.deiconify()
arco = Canvas(v4, width=210, height=210, bg='white')
arco.pack(expand=YES, fill=BOTH)
xy = 10, 10, 190, 190
arco.create_arc(xy, start=0, extent=180, fill='gray60')
# arco.create_arc(10, 10, 190, 190, start=270, extent=90, fill='gray90')
def ques(ventana):
v5.deiconify()
quesi = Canvas(v5, width=210, height=210, bg='white')
quesi.pack(expand=YES, fill=BOTH)
quesi.create_arc(10, 10, 190, 190, start=270, extent=90, fill='gray90')
def quepar(ventana):
v6.deiconify()
par1 = Canvas(v6, width=210, height=210, bg='#E0ECFF')
par1.pack()
par1.create_arc(10, 10, 190, 190, start=0, extent=90, fill='yellow')
par1.create_arc(10, 10, 190, 190, start=90, extent=90, fill='green')
par1.create_arc(10, 10, 190, 190, start=180, extent=90, fill='yellow')
par1.create_arc(10, 10, 190, 190, start=270, extent=90, fill='green')
def texto(ventana):
v7.deiconify()
texto = Canvas(v7, width=210, height=210, bg='white')
texto.pack(expand=YES, fill=BOTH)
texto.create_text(150, 70, fil="red", font="bold", text="La mejor clase del mundo.")
v7.geometry("300x200")
def poligono(ventana):
v8.deiconify()
poligono = Canvas(v8, width=210, height=210, bg='white')
poligono.pack(expand=YES, fill=BOTH)
poligono.create_polygon(40, 40, 40, 140, 140, 140, 140, 100, fill="red", outline="brown", width=6)
v8.geometry("750x750")
def corazon(ventatna):
v9.deiconify()
corazon = Canvas(v9, width=210, height=210, bg='white')
corazon.pack(expand=YES, fill=BOTH)
corazon.create_polygon(300, 300, 400, 200, 500, 200, 600, 300, 700, 200, 800, 200, 900, 300, 878, 395, 600, 700,
325, 401, fill="red", outline="brown", width=6)
v9.geometry("750x750")
def perro(ventatna):
v10.deiconify()
perro = Canvas(v10, width=210, height=210, bg='white')
perro.pack(expand=YES, fill=BOTH)
perro.create_polygon(37.29, 21.55,
53.89, 47.62,
31, 80,
46.38, 98.19,
76.8, 83.97,
78.38, 131.78,
97.34, 132.17,
98.92, 98.19,
135.67, 97.4,
136.85, 134.15,
155.03, 133.75,
153.84, 80.81,
175.57, 24.32,
137.25, 58.69,
78.78, 61.45,
66.53, 42.88, fill="red", outline="brown", width=6)
def conejo(ventana):
v11.deiconify()
conejo = Canvas(v11, width=210, height=210, bg='pink')
conejo.pack(expand=YES, fill=BOTH)
conejo.create_polygon(382.6, 54.5,
339.07, 56.3,
311.48, 99.02,
284.55, 99.02,
284.78, 141.74,
334.62, 141.74,
336.4, 180.91,
313.26, 212.95,
339.96, 240.54,
338.18, 212.06,
375.56, 254.78,
355, 286,
384.46, 302.84,
454.78, 303.73,
456.56, 210.28,
347.97, 113.26,
340.85, 97.24, fill="white", outline="black", width=6)
def figura(ventana):
v12.deiconify()
figura = Canvas(v12, width=210, height=210, bg='white')
figura.pack(expand=YES, fill=BOTH) # Sirve para cargar la figura
figura.create_polygon(52.5, 14.5, 37, 59.1, 51, 59.1, fill="#5C554E", outline="#5C554E", width=1)
figura.create_polygon(19.3, 56.8, 58, 59.1, 67, 91, 37.5, 83, fill="#C3BAB5", outline="#C3BAB5", width=1)
figura.create_polygon(58, 57.8, 78, 77, 71, 103, fill="#D4CCC1", outline="#D4CCC1", width=1)
figura.create_polygon(37.5, 83, 67.4, 91, 71, 103, fill="#998C8A", outline="#998C8A", width=1)
figura.create_polygon(71, 103, 71, 104.8, 59.1, 104.8, 53.2, 91, fill="#665B57", outline="#665B57", width=1)
figura.create_polygon(86, 105.6, 98.2, 148.6, 47, 133.6, 24.2, 103.6, fill="#C3BAB5", outline="#C3BAB5", width=1)
figura.create_polygon(98.2, 148.6, 102, 165.2, 47, 133.6, fill="#9B8D8A", outline="#9B8D8A", width=1)
figura.create_polygon(86, 105.6, 124, 169, 120, 196, 110.8, 196, fill="#D5CDC2", outline="#D5CDC2", width=1)
figura.create_polygon(102, 165.2, 110.8, 196, 99, 196, 80.6, 153, fill="#605550", outline="#605550", width=1)
figura.create_polygon(139.5, 197, 147, 241, 71, 220.4, 46, 193, fill="#C3BAB5", outline="#C3BAB5", width=1)
figura.create_polygon(147, 241, 150, 261.4, 71, 220.4, fill="#968B87", outline="#968B87", width=1)
figura.create_polygon(139.5, 197, 193, 274.2, 189, 307.8, 176, 321, 161.6, 321, fill="#D4CCC1", outline="#D4CCC1",
width=1)
figura.create_polygon(150, 261.4, 161.6, 321, 126.8, 249, fill="#605551", outline="#605551", width=1)
figura.create_polygon(199.4, 307.8, 189, 307.8, 176, 321, 186.6, 461, 184, 448.8, 171, 479.5, 199.4, 503,
fill="#C2AD9C", outline="#C2AD9C", width=1)
figura.create_polygon(176, 321, 161.6, 321, 186.6, 461, fill="#615652", outline="#615652", width=1)
figura.create_polygon(161.6, 321, 136, 359.4, 177.2, 409, fill="#D9C6B7", outline="#D9C6B7", width=1)
figura.create_polygon(144.4, 369.8, 139.6, 384.6, 160, 389.4, fill="#443232", outline="#443232", width=1)
figura.create_polygon(139.6, 384.6, 160, 389.4, 177.2, 409, 169.2, 450, fill="#826E65", outline="#826E65", width=1)
figura.create_polygon(171, 479.5, 180.6, 497.8, 191.2, 496.8, fill="#463334", outline="#463334", width=1)
figura.create_polygon(177.2, 409, 164.8, 475, 176.5, 511, 199.4, 522, 199.4, 502.8, 191.2, 496.8, 180.6, 497.8, 171,
479.5, 184, 448.8, fill="#9B7F79", outline="#9B7F79", width=1)
figura.create_polygon(151.8, 335.4, 109.6, 280, 142.2, 349.2, fill="#5F5150", outline="#5F5150", width=1)
figura.create_polygon(109.6, 280, 70.3, 266, 94.3, 329, 131.3, 326, fill="#483636", outline="#483636", width=1)
figura.create_polygon(94.3, 329, 137, 336, 132, 326.8, fill="#C2AF9D", outline="#C2AF9D", width=1)
figura.create_polygon(115, 333, 136, 359.4, 142.2, 349.2, 137, 336, fill="#826E65", outline="#826E65", width=1)
# Lado inverso
figura.create_polygon(346.5, 14.5, 347.5, 59.1, 361, 59.1, fill="#2E2621", outline="#2E2621", width=1)
figura.create_polygon(379.4, 56.8, 341.8, 59.1, 332, 91, 361, 83, fill="#908782", outline="#908782", width=1)
figura.create_polygon(341.5, 57.8, 324, 75, 327.6, 103, fill="#A29B8F", outline="#A29B8F", width=1)
figura.create_polygon(361, 83, 332.4, 91, 329, 103, fill="#685D59", outline="#685D59", width=1)
figura.create_polygon(329, 103, 326.8, 104.8, 340, 104.8, 345.6, 91, fill="#2D2220", outline="#2D2220", width=1)
figura.create_polygon(313, 105.6, 301, 148.6, 352, 133.6, 374.5, 103.6, fill="#908782", outline="#908782", width=1)
figura.create_polygon(301, 148.6, 297, 165.2, 352, 133.6, fill="#625755", outline="#625755", width=1)
figura.create_polygon(313, 105.6, 274, 169, 279, 196, 288, 196, fill="#A1998E", outline="#A1998E", width=1)
figura.create_polygon(297, 165.2, 288, 196, 300, 196, 318, 153, fill="#2D221E", outline="#2D221E", width=1)
figura.create_polygon(260, 197, 252, 241, 331, 220.4, 352.4, 193, fill="#908782", outline="#908782", width=1)
figura.create_polygon(252, 241, 249, 261.4, 331, 220.4, fill="#645955", outline="#645955", width=1)
figura.create_polygon(260, 197, 205, 274.2, 209.8, 307.8, 223, 321, 238, 321, fill="#A1998E", outline="#A1998E",
width=1)
figura.create_polygon(249, 261.4, 238.6, 321, 271.8, 249, fill="#2D221E", outline="#2D221E", width=1)
figura.create_polygon(199.4, 307.8, 209.8, 307.8, 223, 321, 212.6, 461, 215, 448.8, 228, 479.5, 199.4, 503,
fill="#8E7968", outline="#8E7968", width=1)
figura.create_polygon(223, 321, 238.6, 321, 212.6, 461, fill="#302722", outline="#302722", width=1)
figura.create_polygon(238, 321, 262.8, 359.4, 222.5, 409, fill="#A69384", outline="#A69384", width=1)
figura.create_polygon(254.4, 369.8, 259.6, 384.6, 238, 389.4, fill="#120001", outline="#120001", width=1)
figura.create_polygon(259.6, 384.6, 238, 389.4, 222.5, 409, 229.5, 450, fill="#4F3B32", outline="#4F3B32", width=1)
figura.create_polygon(228, 479.5, 218.3, 497.8, 207.5, 496.8, fill="#180A04", outline="#180A04", width=1)
figura.create_polygon(222.5, 409, 234, 475, 223, 511, 199.4, 522, 199.4, 502.8, 207.5, 496.8, 218.3, 497.8, 228,
479.5, 215, 448.8, fill="#674C45", outline="#674C45", width=1)
figura.create_polygon(247, 335.4, 290.6, 280, 256.8, 349.2, fill="#281F1D", outline="#281F1D", width=1)
figura.create_polygon(290.6, 280, 328, 266, 304.8, 329, 267.5, 326, fill="#140202", outline="#140202", width=1)
figura.create_polygon(304.8, 329, 262.5, 336, 267.5, 326.8, fill="#8D7B66", outline="#8D7B66", width=1)
figura.create_polygon(283, 333, 262.8, 359.4, 256.8, 349.2, 262.5, 336, fill="#4D3930", outline="#4D3930", width=1)
def gato(ventana):
v13.deiconify()
gato = Canvas(v13, width=300, height=200, bg='white')
gato.pack(expand=YES, fill=BOTH)
gato.create_polygon(420, 180,
420, 60,
380, 100,
300, 100,
260, 60,
260, 140,
220, 100,
180, 100,
140, 140,
140, 80,
150, 80,
200, 40,
200, 20,
160, 20,
90, 80,
100, 160,
120, 270,
200, 270,
200, 230,
160, 230,
160, 210,
180, 190,
220, 190,
220, 270,
280, 270,
280, 230,
260, 230,
260, 180,
400, 200,
360, 220,
320, 220,
280, 180,
fill="lightblue", outline="brown", width=6)
boton2 = Button(v1, text="Cerrar", bg="Red", command=lambda: ejecutar(ocultar(v1)))
boton2.pack()
boton3 = Button(v2, text="Cerrar", bg="blue", command=lambda: ejecutar(ocultar(v2)))
boton3.pack()
boton4 = Button(v3, text="Cerrar", bg="#E0ECFF", command=lambda: ejecutar(ocultar(v3)))
boton4.pack()
boton5 = Button(v4, text="Cerrar", bg="Red", command=lambda: ejecutar(ocultar(v4)))
boton5.pack()
boton6 = Button(v5, text="Cerrar", bg="pink", command=lambda: ejecutar(ocultar(v5)))
boton6.pack()
boton7 = Button(v6, text="Cerrar", bg="purple", command=lambda: ejecutar(ocultar(v6)))
boton7.pack()
boton8 = Button(v7, text="Cerrar", bg="purple", command=lambda: ejecutar(ocultar(v7)))
boton8.pack()
boton9 = Button(v8, text="Cerrar", bg="darkred", command=lambda: ejecutar(ocultar(v8)))
boton9.pack()
boton10 = Button(v9, text="Cerrar", bg="darkred", command=lambda: ejecutar(ocultar(v9)))
boton10.pack()
boton11 = Button(v10, text="Cerrar", bg="darkred", command=lambda: ejecutar(ocultar(v10)))
boton11.pack()
boton12 = Button(v11, text="Cerrar", bg="darkred", command=lambda: ejecutar(ocultar(v11)))
boton12.pack()
boton13 = Button(v12, text="Cerrar", bg="darkred", command=lambda: ejecutar(ocultar(v12)))
boton13.pack()
boton14 = Button(v13, text="Cerrar", bg="darkred", command=lambda: ejecutar(ocultar(v13)))
boton14.pack()
b1 = Button(v0, text="Mostrar circulo", command=lambda: ejecutar(circulo(v0)))
b1.grid(row=1, column=3)
b2 = Button(v0, text="Mostrar rectangulo", command=lambda: ejecutar(rectangulo(v0)))
b2.grid(row=1, column=2)
b3 = Button(v0, text="Mostrar linea", command=lambda: ejecutar(linea(v0)))
b3.grid(row=1, column=4)
b4 = Button(v0, text="Mostrar arco", command=lambda: ejecutar(arc(v0)))
b4.grid(row=1, column=1)
b5 = Button(v0, text="Mostrar ques", command=lambda: ejecutar(ques(v0)))
b5.grid(row=1, column=5)
b6 = Button(v0, text="Mostrar quepar", command=lambda: ejecutar(quepar(v0)))
b6.grid(row=1, column=6)
b7 = Button(v0, text="Mostrar texto", command=lambda: ejecutar(texto(v0)))
b7.grid(row=1, column=7)
b8 = Button(v0, text="Mostrar poligono", command=lambda: ejecutar(poligono(v0)))
b8.grid(row=1, column=8)
b9 = Button(v0, text="Mostrar corazon", command=lambda: ejecutar(corazon(v0)))
b9.grid(row=1, column=9)
b10 = Button(v0, text="Mostrar perro", command=lambda: ejecutar(perro(v0)))
b10.grid(row=1, column=10)
b11 = Button(v0, text="Mostrar conejo", command=lambda: ejecutar(conejo(v0)))
b11.grid(row=2, column=1)
b12 = Button(v0, text="Mostrar figura", command=lambda: ejecutar(figura(v0)))
b12.grid(row=2, column=2)
b13 = Button(v0, text="Mostrar gato", command=lambda: ejecutar(gato(v0)))
b13.grid(row=2, column=3)
v13.withdraw()
v12.withdraw()
v11.withdraw()
v10.withdraw()
v9.withdraw()
v8.withdraw()
v7.withdraw()
v6.withdraw()
v5.withdraw()
v4.withdraw()
v3.withdraw()
v2.withdraw()
v1.withdraw()
v0.mainloop()
-------------------------------------------------------------------------------
Cuadrados utilizando Turtle. |
# -*- coding: utf-8 -*-
import sys
import turtle
def border(t, screen_x, screen_y):
"""(Turtle, int, int)
Dibuja un borde en el lienzo de color rojo.
"""
# Levanta la pluma y la mueve hacia el centro.
t.penup()
t.home()
# Mueve a la parte inferior izquierda; deja a turtle
# apuntando al oeste.
t.forward(screen_x / 2)
t.right(90)
t.forward(screen_y / 2)
t.setheading(180) # t.right(90) tambien funciona.
# Dibuja el borde
t.pencolor('red')
t.pendown()
t.pensize(10)
for distance in (screen_x, screen_y, screen_x, screen_y):
t.forward(distance)
t.right(90)
# Levanta la pluma y la mueve al punto 0 de nuevo;
# Para dejar la pluma en un lugar conocido.
t.penup()
t.home()
def square(t, size, color):
"""(Turtle, int, str)
Dibuja un cuadrado del tamaño y color deseado.
"""
t.pencolor(color)
t.pendown()
for i in range(4):
t.forward(size)
t.right(90)
def main():
# Crea pantalla y turtle.
screen = turtle.Screen()
screen.title('Square Demo')
screen_x, screen_y = screen.screensize()
t = turtle.Turtle()
# Dibuja las graficas tan rapido como sea posible.
##t.speed(0)
# Dibuja un borde en la orilla del lienzo
border(t, screen_x, screen_y)
# Dibuja cuadrados variando el color
# Los cuadrados son 10%, 20%, etc. de la mitad del tamaño del lienzo.
colors = ['red', 'orange', 'yellow', 'green', 'blue', 'violet']
t.pensize(3)
for i, color in enumerate(colors):
square(t, (screen_y / 2) / 10 * (i + 1), color)
print('Presiona cualquier tecla para salir')
dummy = input()
if __name__ == '__main__':
main()
-------------------------------------------------------------------------------
Espiral de muchos colores. |
turtle.setup(width=600, height=500)
turtle.reset()
turtle.hideturtle()
turtle.speed(0)
turtle.bgcolor('black')
c = 0
x = 0
colors = [
#reddish colors
(1.00, 0.00, 0.00),(1.00, 0.03, 0.00),(1.00, 0.05, 0.00),(1.00, 0.07, 0.00),(1.00, 0.10, 0.00),(1.00, 0.12, 0.00),(1.00, 0.15, 0.00),(1.00, 0.17, 0.00),(1.00, 0.20, 0.00),(1.00, 0.23, 0.00),(1.00, 0.25, 0.00),(1.00, 0.28, 0.00),(1.00, 0.30, 0.00),(1.00, 0.33, 0.00),(1.00, 0.35, 0.00),(1.00, 0.38, 0.00),(1.00, 0.40, 0.00),(1.00, 0.42, 0.00),(1.00, 0.45, 0.00),(1.00, 0.47, 0.00),
#orangey colors
(1.00, 0.50, 0.00),(1.00, 0.53, 0.00),(1.00, 0.55, 0.00),(1.00, 0.57, 0.00),(1.00, 0.60, 0.00),(1.00, 0.62, 0.00),(1.00, 0.65, 0.00),(1.00, 0.68, 0.00),(1.00, 0.70, 0.00),(1.00, 0.72, 0.00),(1.00, 0.75, 0.00),(1.00, 0.78, 0.00),(1.00, 0.80, 0.00),(1.00, 0.82, 0.00),(1.00, 0.85, 0.00),(1.00, 0.88, 0.00),(1.00, 0.90, 0.00),(1.00, 0.93, 0.00),(1.00, 0.95, 0.00),(1.00, 0.97, 0.00),
#yellowy colors
(1.00, 1.00, 0.00),(0.95, 1.00, 0.00),(0.90, 1.00, 0.00),(0.85, 1.00, 0.00),(0.80, 1.00, 0.00),(0.75, 1.00, 0.00),(0.70, 1.00, 0.00),(0.65, 1.00, 0.00),(0.60, 1.00, 0.00),(0.55, 1.00, 0.00),(0.50, 1.00, 0.00),(0.45, 1.00, 0.00),(0.40, 1.00, 0.00),(0.35, 1.00, 0.00),(0.30, 1.00, 0.00),(0.25, 1.00, 0.00),(0.20, 1.00, 0.00),(0.15, 1.00, 0.00),(0.10, 1.00, 0.00),(0.05, 1.00, 0.00),
#greenish colors
(0.00, 1.00, 0.00),(0.00, 0.95, 0.05),(0.00, 0.90, 0.10),(0.00, 0.85, 0.15),(0.00, 0.80, 0.20),(0.00, 0.75, 0.25),(0.00, 0.70, 0.30),(0.00, 0.65, 0.35),(0.00, 0.60, 0.40),(0.00, 0.55, 0.45),(0.00, 0.50, 0.50),(0.00, 0.45, 0.55),(0.00, 0.40, 0.60),(0.00, 0.35, 0.65),(0.00, 0.30, 0.70),(0.00, 0.25, 0.75),(0.00, 0.20, 0.80),(0.00, 0.15, 0.85),(0.00, 0.10, 0.90),(0.00, 0.05, 0.95),
#blueish colors
(0.00, 0.00, 1.00),(0.05, 0.00, 1.00),(0.10, 0.00, 1.00),(0.15, 0.00, 1.00),(0.20, 0.00, 1.00),(0.25, 0.00, 1.00),(0.30, 0.00, 1.00),(0.35, 0.00, 1.00),(0.40, 0.00, 1.00),(0.45, 0.00, 1.00),(0.50, 0.00, 1.00),(0.55, 0.00, 1.00),(0.60, 0.00, 1.00),(0.65, 0.00, 1.00),(0.70, 0.00, 1.00),(0.75, 0.00, 1.00),(0.80, 0.00, 1.00),(0.85, 0.00, 1.00),(0.90, 0.00, 1.00),(0.95, 0.00, 1.00)
]
while x < 1000:
idx = int(c)
color = colors[idx]
turtle.color(color)
turtle.forward(x)
turtle.right(98)
x = x + 1
c = c + 0.1
turtle.exitonclick()
Comentarios
Publicar un comentario