#Ejemplo de Edad con Spinbox.-
#Aportación de: Valeria Esmeralda Vargas Requena
import sys
from Tkinter import *
import tkMessageBox
def CalcularEdad():
Valor = int(CajaEdad.get())
if (2018-Valor>=18):
tkMessageBox.showinfo("Felicidades", "Eres Mayor de Edad!")
elif(2018-Valor<=5):
tkMessageBox.showinfo("Eehhh?", "Como puedes tener menos de 5 y usar este programa")
elif((2018-Valor)>8 and (2018-Valor)<18):
tkMessageBox.showinfo("Alejate!","Aun no posees la edad suficiente para seguir!")
ventana=Tk()
ventana.title("Mayor de edad")
ventana.geometry("600x400")
vp = Frame(ventana) #estamos utilizando el objeto framevp.grid(column=0, row=0, padx =(50,50), pady=(10,10))
vp.grid(column=0,row=0, padx=(50,50), pady=(10,10))
vp.columnconfigure(0, weigh=1)
vp.rowconfigure(0, weight =1)
PreguntarEdad = Label(vp, text="Por favor ingrese su fecha de Nacimiento")
PreguntarEdad.grid(column=1,row=1,padx=(10,10),pady=(10,10))
CajaEdad = Spinbox(vp, from_=1980, to=2018,width=10)
CajaEdad.grid(column=2, row=1, padx=(10,10), pady=(10,10), sticky=N+S)
BotonCalcular = Button(vp, text="Calcular!", command=CalcularEdad)
BotonCalcular.grid(column=3, row=1, padx=(10,10), pady=(10,10))
ventana.mainloop()
#Programa punto de venta, cuenta billetes, monedas etc...
#Aportación de: Jose Manuel Sanchez Izaguirre
from Tkinter import *
import tkMessageBox
def SumMul():
try:
_e0= int(v0.get())
_e0=_e0*.50
_e1 = int(v1.get())
_e1 = _e1 * 1
_e2 = int(v2.get())
_e2 = _e2 * 2
_e3 = int(v3.get())
_e3 = _e3 * 5
_e4 = int(v4.get())
_e4 = _e4 * 10
_e5 = int(v5.get())
_e5 = _e5 * 20
_e6 = int(v6.get())
_e6 = _e6 * 50
_e7 = int(v7.get())
_e7 = _e7 * 100
_e8 = int(v8.get())
_e8 = _e8 * 200
_e9 = int(v9.get())
_e9 = _e9 * 500
_e10= _e0 + _e1 + _e2 + _e3 + _e4 + _e5 + _e6 + _e7 + _e8 + _e9
tkMessageBox.showinfo("El resultado es", _e10)
except ValueError:
etiqueta.config(text="Introduce un numero entero")
v=Tk()
v.title("")
v.geometry("200x350")
vp = Frame(v)
vp.grid(column=0, row=0, padx=(50,50), pady=(10,10))
vp.columnconfigure(0, weight=1)
vp.rowconfigure(0, weight =1)
ET0=Label(vp,text="MONEDAS")
ET0.grid(column=2, row=1)
e0=Label(vp,text="0.50")
e0.grid(column=1, row=3)
e1=Label(vp,text="1.00")
e1.grid(column=1, row=4)
e2=Label(vp,text="2.00")
e2.grid(column=1, row=5)
e3=Label(vp,text="5.00")
e3.grid(column=1, row=6)
e3=Label(vp,text="10.00")
e3.grid(column=1, row=7)
v0 = ""v0 = Entry(vp, width=5, textvariable=v0)
v0.grid(row=3, column=2)
v1 = ""v1 = Entry(vp, width=5, textvariable=v1)
v1.grid(row=4, column=2)
v2 = ""v2 = Entry(vp, width=5, textvariable=v2)
v2.grid(row=5, column=2)
v3 = ""v3 = Entry(vp, width=5, textvariable=v3)
v3.grid(row=6, column=2)
v4 = ""v4 = Entry(vp, width=5, textvariable=v4)
v4.grid(row=7, column=2)
ET1=Label(vp,text="BILLETES")
ET1.grid(column=2, row=9)
e4=Label(vp,text="20.00")
e4.grid(column=1, row=11)
e5=Label(vp,text="50.00")
e5.grid(column=1, row=12)
e6=Label(vp,text="100.00")
e6.grid(column=1, row=13)
e7=Label(vp,text="200.00")
e7.grid(column=1, row=14)
e8=Label(vp,text="500.00")
e8.grid(column=1, row=15)
v5 = ""v5 = Entry(vp, width=5, textvariable=v5)
v5.grid(row=11, column=2)
v6 = ""v6 = Entry(vp, width=5, textvariable=v6)
v6.grid(row=12, column=2)
v7 = ""v7 = Entry(vp, width=5, textvariable=v7)
v7.grid(row=13, column=2)
v8 = ""v8 = Entry(vp, width=5, textvariable=v8)
v8.grid(row=14, column=2)
v9 = ""v9 = Entry(vp, width=5, textvariable=v9)
v9.grid(row=15, column=2)
b = Button(vp, text="TOTAL", command=SumMul)
b.grid(row=17, column=2, padx=(20, 20), pady=(20, 20))
v.mainloop()
#Aportacion de Cecilia Abigal Cantu Alcala
#programa que saca el signo zodiacal
import sys
import Tkinter as tk
from Tkinter import *
import tkMessageBox
ventana=Tk()
ventana.title("Signo Zodiacal")
ventana.geometry("400x200")
ventana.config(bg="rosybrown")
vp = Frame(ventana)
vp.grid(column=0, row=0, padx=(50, 50), pady=(10, 10)) #para posicionar cualquier objetovp.columnconfigure(0, weight=1)
vp.rowconfigure(0, weight=1)
var = StringVar(ventana)
var.set("Enero") # initial valuever = StringVar(ventana)
ver.set("1") # initial value
etiqueta_mes = Label(ventana, text='Mes de nacimiento: ')
ent_mes = OptionMenu(ventana, var, "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre", )
etiqueta_mes.grid(row=1, column=1, padx=(10, 10), pady=(10, 10), sticky=E)
ent_mes.grid(row=1, column=3)
etiqueta_dia = Label(ventana, text='Dia de nacimiento: ')
ent_dia = OptionMenu(ventana, ver, "1", "2", "3","4", "5", "6","7", "8", "9","10", "11", "12","13", "14", "15","16", "17", "18","19", "20", "21","22", "23", "24", "25", "26", "27", "28", "29", "30", "31")
etiqueta_dia.grid(row=4, column=1, padx=(10, 10), pady=(10, 10), sticky=E)
ent_dia.grid(row=4, column=3)
def signo():
month= str(var.get())
day= int(ver.get())
if month=="Marzo" and day>=21 or month=="Abril" and day<=20:
tkMessageBox.showinfo("Signo","Eres Aries")
elif month == "Abril" and day >= 21 or month == "Mayo" and day <= 21:
tkMessageBox.showinfo("Signo", "Eres Tauro")
elif month == "Mayo" and day >= 22 or month == "Junio" and day <= 21:
tkMessageBox.showinfo("Signo", "Eres Gemenis")
elif month=="Junio" and day>=22 or month=="Julio" and day<=22:
tkMessageBox.showinfo("Signo","Eres Cáncer")
if month=="Julio" and day>=23 or month=="Agosto" and day<=23:
tkMessageBox.showinfo("Signo","Eres Leo")
if month=="Agosto" and day>=24 or month=="Septiembre" and day<=23:
tkMessageBox.showinfo("Signo","Eres Virgo")
if month=="Septiembre" and day>=24 or month=="Octubre" and day<=23:
tkMessageBox.showinfo("Signo","Eres Libra")
if month=="Octubre" and day>=24 or month=="Noviembre" and day<=22:
tkMessageBox.showinfo("Signo","Eres Escorpión")
if month=="Noviembre" and day>=23 or month=="Diciembre" and day<=21:
tkMessageBox.showinfo("Signo","Eres Sagitario")
if month=="Diciembre" and day>=22 or month=="Enero" and day<=20:
tkMessageBox.showinfo("Signo","Eres Capricornio")
if month=="Enero" and day>=21 or month=="Febrero" and day<=18:
tkMessageBox.showinfo("Signo","Eres Acuario")
if month=="Febrero" and day>=19 or month=="Marzo" and day<=20:
tkMessageBox.showinfo("Signo","Eres Piscis")
boton = Button(ventana, text='Signo', command=signo, width=20)
boton.grid(row=5, column=1, padx=(10, 10), pady=(10, 10), sticky=E)
ventana.mainloop()
#Aportacion de Cecilia Abigal Cantu Alcala
#programa que calcula IMC
# -*- coding: utf-8 -*-import sys
import Tkinter
from Tkinter import *
import tkMessageBox
def imc():
num1 = int(entrada_peso.get())
num2 = float(entrada_altura.get())
imc = (num1 / (num2*num2))
if imc == 0 or imc < 18:
tkMessageBox.showinfo("Resultado", "Peso bajo. Necesario valorar signos de desnutrición")
elif imc == 18 or imc < 25:
tkMessageBox.showinfo("Resultado", "Usted tiene un peso normal☻")
elif imc == 25 or imc < 27:
tkMessageBox.showinfo("Resultado", "Usted padece sobrepeso")
elif imc == 27 or imc < 30:
tkMessageBox.showinfo("Resultado", "Usted padece obesidad grado I")
elif imc == 30 or imc < 40:
tkMessageBox.showinfo("Resultado", "Usted padece de obesidad grado II")
else:
tkMessageBox.showinfo("Resultado", "Usted padece de obesidad morbida")
ventana=Tk()
ventana.title("Calculo de IMC")
ventana.geometry("400x200")
ventana.config(bg="rosybrown")
vp = Frame(ventana)
vp.grid(column=0, row=0, padx=(50, 50), pady=(10, 10)) #para posicionar cualquier objetovp.columnconfigure(0, weight=1)
vp.rowconfigure(0, weight=1)
peso = IntVar()
altura = float()
#pesoetiqueta_peso = Label(ventana, text='Peso(kg):', bg='ivory')
etiqueta_peso.grid(row=1, column=1, padx=(10, 10), pady=(10, 10), sticky=E)
entrada_peso = Entry(ventana, textvariable=peso)
entrada_peso.grid(row=1, column=2, padx=(10, 10), pady=(10, 10), sticky=E)
#alturaetiqueta_altura = Label(ventana, text='Altura(mts): ', bg='ivory')
etiqueta_altura.grid(row=2, column=1, padx=(10, 10), pady=(10, 10), sticky=E)
entrada_altura = Entry(ventana, textvariable=altura)
entrada_altura.grid(row=2, column=2, padx=(10, 10), pady=(10, 10), sticky=E)
bconv = Button(ventana, bg='plum', fg='white', text='Calcular IMC', width=10, height=1, command=imc)
bconv.grid(row=4, column=2, padx=(10, 10), pady=(10, 10))
ventana.mainloop()
#Aportacion de Brandon Asael Cerda Hernandez
#Programa: con listas, combo box, agrega a la lista las peliculas al guardar
#excelente programa en python!!!
# -*- coding: utf-8 -*-from Tkinter import Label,Entry,Button,Tk,Frame,W,N,S,E,END,HORIZONTAL,Spinbox
from ttk import Combobox,Separator
from tkMessageBox import askyesno,showinfo,showerror;
#en el import, solo estoy pidiendo importar los elementos que vamos a usar, para no usar el * sin necesidad de traer mas elementosdef AddEntryMovie():
Movie = CatchMovie.get()
if (CatchMovie.get()==""):
CatchMovie.config(bg="red")
showerror("What Movie it is?", "Por favor ingresa una pelicula! no dejes el campo en blanco!")
CatchMovie.config(bg="white")
#Una pequeña "excepcion" por si el campo de texto para ingresar la pelicula esta vacio else:
if (Classes.get()==""):
#otra pequeña "excepcion" por si la clasificación de la pelicula no tiene seleccionada una clasificación showerror("What Movie it is?","Por favor selecciona una clasificación!")
else:
if (askyesno("Are you sure?", "Deseas añadir esta pelicula: \n\""+Movie+"\"\nA la lista de peliculas?")==True):
values = list(MoviesOnList["values"])
#se crea dentro de la funcion la Variable "values" que sera una lista de los valores que se encuentran en la lista despegable MoviesOnList["values"] = values + [Movie]
#de la lista despegalble agregamos el nuevo valor que esta en nuestro campo de texto, para esto debemos ponerlo entre # [] para que se interprete como el valor de una lista y pueda sumarse a la lista despegable de peliculas Classifications.insert(i,Classes.get())
#añade la clasificiación a una lista, para asi tenerla disponible en la Lista Despegable de Peliculas disponibles Mov.insert(i,Movie)
i+1 CatchMovie.delete(0, END)
#ya lo hemos visto antes pero lo explicare aun asi, .delete(0, END) borra el texto dentro del Entry CatchMovie.insert(0, "")
#Aqui es casi lo mismo, pero deja el campo Vacio y usable, tambien para evitar errores de captura Classes.set("")
#Reinicia la Lista Despegable de las clasificaciones showinfo("Exito!","Has añadido: \""+Movie+"\" A la lista de Peliculas")
else:
showinfo("Guess No","La Pelicula: "+Movie+" No sera añadida")
def firstDone():
if (askyesno("Are you sure?","ADVERTENCIA: ESTA ACCION NO PUEDE SER DESHECHA" "\nSi de verdad ya terminaste te agregar peliculas, prosigue, si no, DETENTE!")==True):
CatchMovie.config(state="disable")
Classes.config(state="disable")
AddMov.config(state="disable")
Done.config(state="disable")
#tambien se habia visto antes, pero explicare aun asi, el 'state' "disable" deshabilita el componente del frame app.geometry("600x300")
#se puede cambiar la dimension de una ventana, aunque se haya establecido un tamaño, esto nos permite controlar la ventana y los componentes a mostrar MovietoRent.grid()
MoviesOnList.grid()
ClassifiedAs.grid()
AskRent.grid()
Days4Rent.grid()
Rent.grid()
#simplemente con .grid() vuelvo a colocar en su respectivo lugar, los elementos que no son visibles para el usuario, ocultos con '.grid_remove()' else:
showinfo("","Puedes seguir agregando peliculas si gustas!")
def MovieSel(self):
ClassifiedAs.config(state="normal")
#para que un Entry pueda mostrar un texto, es necesario que este en un estado normal (state="normal") ClassifiedAs.delete(0, END)
ClassifiedAs.insert(0, Classifications.__getitem__(Mov.index(MoviesOnList.get())))
#aqui se hace uso de la Lista [] y el atributo "__getitem__()" para obtener lo que este en la lista, para ello #es necesario poner un indice numerico, asi que utilizando ".index()" puedo llamar solo el indice (numero en la lista) #y .__getitem__() obtendra el objeto que este en ese indice de la lista, para asi poder mostrar la clasificación correecta ClassifiedAs.config(state="readonly")
#al cambiar el estado a "Solo Lectura" (state="readonly") el Entry solo mostrara Texto, pero no permitira la entrada de datos o textosdef RentAMovie():
if (askyesno("You ready?","Deseas Rentar la pelicula: "+MoviesOnList.get()+
"\n por "+Days4Rent.get()+" Dia/s?")==True):
if (ClassifiedAs.get()=="Adultos"):
if(askyesno("Age Issue","Eres Mayor de Edad?")==True):
showinfo("Ask for: ","Presente su Identificación")
else:
showerror("Get outta here","NO SE RENTAN PELICULAS A MENORES")
else:
showinfo("Have a nice day!","Disfruta de tu pelicula! \nQue tengas un Buen dia :)")
else:
showinfo("Ok?","De acuerdo, revisa tus opciones entonces :)")
app = Tk()
app.geometry("600x120")
app.title("Lista de Peliculas")
vp = Frame(app)
vp.grid(column=0,row=0,padx=(30,30), pady=(20,20))
vp.rowconfigure(0, weight=1)
vp.columnconfigure(0, weight=1)
Classified = Label(vp, text="Clasificación")
Classified.grid(column=2, row=1, padx=(10,10), pady=(10,10))
AskMov = Label(vp, text="Ingrese una Pelicula: ")
AskMov.grid(column=1, row=1, padx=(10,10), pady=(10,10), sticky=W)
cMovie = ""CatchMovie = Entry(vp, textvariable=cMovie, width=35)
CatchMovie.grid(column=1, row=2, padx=(10,10), pady=(10,10))
AddMov = Button(vp, text="Añadir", command=AddEntryMovie)
AddMov.grid(column=3, row=2, padx=(10,10), pady=(10,10))
Done = Button(vp, text="Finalizar", command=firstDone)
Done.grid(column=4, row=2, padx=(10,10), pady=(10,10))
Classes = Combobox (vp, state="readonly")
Classes.grid(column=2, row=2, padx=(10,10), pady=(10,10))
Classes["values"]=["Para todas las Edades","Familiar","Mayores de 10","Adolescentes","Mayores de 15","Adultos"]
Separator(vp, orient=HORIZONTAL).grid(column=1,row=3,columnspan=4,sticky=W+E,pady=(10,10))
MovietoRent = Label(vp, text="Pelicula a Rentar: ")
MovietoRent.grid(column=1, row=4, padx=(10,10), pady=(30,10), stick=W)
MovietoRent.grid_remove()
MoviesOnList = Combobox (vp, state="readonly")
MoviesOnList.grid(column=1,row=5,padx=(10,10),pady=(10,10), sticky=W+E)
MoviesOnList.bind("<>",MovieSel)
MoviesOnList.grid_remove()
ClassifiedAs = Entry (vp,state="readonly")
ClassifiedAs.grid(column=2, row=5, padx=(10,10), pady=(10,10), sticky=W+E)
ClassifiedAs.grid_remove()
AskRent = Label(vp, text="Dias\n a Rentar")
AskRent.grid(column=3, row=4, padx=(10,10), pady=(10,10))
AskRent.grid_remove()
Days4Rent = Spinbox(vp,width=5, from_=1, to=7)
Days4Rent.grid(column=3, row=5, padx=(10,10), pady=(10,10), sticky=N+S)
Days4Rent.grid_remove()
Rent = Button(vp, text="Rentar", command=RentAMovie)
Rent.grid(column=4, row=5, padx=(10,10), pady=(10,10))
Rent.grid_remove()
Classifications = []
Mov = []
i = int(0)
app.mainloop()
#Aportacion.- Luis Angel Alonso Rojas
#programa que hace la interfaz
#programa que te pide tus datos basicos
#Luis Angel Alonso Rojas#15260607
from Tkinter import *
root = Tk()
root.title('formulario 1')
# row 1 : thenombre_label = Label(root,text="Nombre :")
nombre_label.grid(row=1,column=1)
nombre_str = StringVar()
nombre_entry = Entry(root,textvariable=nombre_str)
nombre_entry.grid(row=1,column=2)
#row 2 : the lastlast_label= Label(root,text="Apellido : ")
last_label.grid(row=2,column=1)
last_str = StringVar()
last_entry = Entry(root,textvariable=last_str)
last_entry.grid(row=2,column=2)
#row 3 : themail_label = Label(root,text="Email : ")
mail_label.grid(row=3,column=1)
mail_str = StringVar()
mail_entry = Entry(root,textvariable=mail_str)
mail_entry.grid(row=3,column=2)
#row 4 :endfinish = Button(root,text="finalizar",relief=FLAT)
endfinish.grid(row=4,column=2)
root.mainloop()
#programa que calcula el interés anual
#!/usr/bin/env python# -*- coding: utf-8 -*-
import sys
from Tkinter import *
import tkMessageBox
def interes():
v1 = int(ent1.get())
v2 = int(ent2.get())
v3 = int(ent3.get())
r = v1 * v2 / 100 g=(r * v3)
f= g + v1
print "Cuando pasen", v3, "años, con un interes de", v2, " usted habrá generado",f , "pesos"
v = Tk()
v.title("Interes")
v.geometry("400x250")
vp= Frame(v)
vp.grid(column=0, row=0, padx=(50,50), pady=(10,10))
vp.columnconfigure(0, weight=1)
vp.rowconfigure(0,weight=1)
e1 = Label(vp, text="Pesos:")
e1.grid(row=2, column=4, padx=(20, 20), pady=(20, 20))
e2 = Label(vp, text="Interes:")
e2.grid(row=3, column=4, padx=(20, 20), pady=(20, 20))
e3 = Label(vp, text="Años:")
e3.grid(row=4, column=4, padx=(20, 20), pady=(20, 20))
val1 = ""ent1 = Entry(vp, width=12, textvariable=val1)
ent1.grid(row=2, column=5)
val2 = ""ent2 = Entry(vp, width=12, textvariable=val2)
ent2.grid(row=3, column=5)
val3 = ""ent3 = Entry(vp, width=12, textvariable=val2)
ent3.grid(row=4, column=5)
b1 = Button(vp, text="Calcular", command=interes)
b1.grid(row=5, column=5, padx=(20, 20), pady=(20, 20))
v.mainloop()
#Aportacion.- Jesus Eduardo Martinez Hinojosa
#Programa que encripta informacion o texto
# -*- coding: utf-8 -*-from Tkinter import *
# Jesus Eduardo Martinez Hinojosa
# Ventanaventana = Tk()
ventana.geometry("300x300+350+80")
ventana.title("Encriptador")
ventana.resizable(width=False, height=False)
try:
ventana.iconbitmap("icono.ico")
except:
print("no hay icono disponible")
# Clavenumclave = 1
# Funciones.def boton1():
# Cifrado Cesar TAM_MAX_CLAVE = 26
def obtenerModo():
modo = "e" return modo
def obtenerMensaje():
mensaje = text.get("0.0", END)
return mensaje
def obtenerClave():
global numclave
clave = numclave
return clave
def obtenerMensajeTraducido(modo, mensaje, clave):
if modo[0] == 'd':
clave = -clave
traduccion = '' for simbolo in mensaje:
if simbolo.isalpha():
num = ord(simbolo)
num += clave
if simbolo.isupper():
if num > ord('Z'):
num -= 26 elif num < ord('A'):
num += 26 elif simbolo.islower():
if num > ord('z'):
num -= 26 elif num < ord('a'):
num += 26 traduccion += chr(num)
else:
traduccion += simbolo
return traduccion
modo = obtenerModo()
mensaje = obtenerMensaje()
if modo[0] != 'b':
clave = obtenerClave()
if modo[0] != 'b':
texto = (obtenerMensajeTraducido(modo, mensaje, clave))
text.delete("0.0", END)
text.insert("0.0", texto)
informe1.config(text="Texto Encriptado")
else:
for clave in range(1, TAM_MAX_CLAVE + 1):
print(clave, obtenerMensajeTraducido('desencriptar', mensaje, clave))
def boton2():
# Cifrado Cesar TAM_MAX_CLAVE = 26
def obtenerModo():
modo = "d" return modo
def obtenerMensaje():
mensaje = text.get("0.0", END)
return mensaje
def obtenerClave():
global numclave
clave = numclave
return clave
def obtenerMensajeTraducido(modo, mensaje, clave):
if modo[0] == 'd':
clave = -clave
traduccion = '' for simbolo in mensaje:
if simbolo.isalpha():
num = ord(simbolo)
num += clave
if simbolo.isupper():
if num > ord('Z'):
num -= 26 elif num < ord('A'):
num += 26 elif simbolo.islower():
if num > ord('z'):
num -= 26 elif num < ord('a'):
num += 26 traduccion += chr(num)
else:
traduccion += simbolo
return traduccion
modo = obtenerModo()
mensaje = obtenerMensaje()
if modo[0] != 'b':
clave = obtenerClave()
if modo[0] != 'b':
texto = (obtenerMensajeTraducido(modo, mensaje, clave))
text.delete("0.0", END)
text.insert("0.0", texto)
informe1.config(text="Texto Desencriptado")
else:
for clave in range(1, TAM_MAX_CLAVE + 1):
print(clave, obtenerMensajeTraducido('desencriptar', mensaje, clave))
def salir():
ventana.destroy()
def menu_activacion(event):
menu_despegable.post(event.x_root, event.y_root)
def cortar():
text.clipboard_clear()
text.clipboard_append(text.selection_get())
sel = text.get(SEL_FIRST, SEL_LAST)
text.delete(SEL_FIRST, SEL_LAST)
def copiar():
text.clipboard_clear()
text.clipboard_append(text.selection_get())
def pegar():
tem = text.selection_get(selection="CLIPBOARD")
text.insert(INSERT, tem)
# Widgetb1 = Button(ventana, text="Encriptar", bg='black', fg='white', activebackground='cyan',
activeforeground='dark slate gray', command=boton1, font=("Courier New", 9))
b2 = Button(ventana, text="Desencriptar", bg='black', fg='white', activebackground='cyan',
activeforeground='dark slate gray', command=boton2, font=("Courier New", 9))
text = Text(ventana, fg='lavender', bg='dark slate gray', font=("Courier New", 10))
informe1 = Label(ventana, text="Ingrese un texto", bg="turquoise", font=("Courier New", 10))
# Empaquetado de los widgetb1.place(x=10, y=260, width=120, height=30)
b2.place(x=167, y=260, width=120, height=30)
informe1.place(x=0, y=0, width=300, height=30)
text.place(x=0, y=30, height=218, width=300)
# Menu popup(menu despegable)menu_despegable = Menu(ventana, tearoff=0)
menu_despegable.add_command(label="Cortar", command=cortar, font=("Courier New", 9))
menu_despegable.add_command(label="Copiar", command=copiar, font=("Courier New", 9))
menu_despegable.add_command(label="Pegar", command=pegar, font=("Courier New", 9))
menu_despegable.add_separator()
menu_despegable.add_command(label="Salir", command=salir, font=("Courier New", 9))
# Evento del menu despegabletext.bind("", menu_activacion)
# donde mantener el enfoque.ventana.mainloop()
#Aportacion.- Alan Hernandez Mijangos
#Programa.- que toma un archivo GIF y lo muestra
al hacer clic en un boton
# -*- coding: utf-8 -*-import Tkinter as tk
from Tkinter import *
ventana = Tk()
ventana.geometry('400x400')
ventana.config(bg="black")
ventana.title("Mostrando y ocultando un botón con una imagen")
def btn_hide():
if b1.winfo_ismapped():
b1.place_forget()
b2.configure(text="Mostrar carita", width=15)
else:
b1.place(x=70, y=50)
b2.configure(text="Ocultar carita", width=15)
imgBoton = PhotoImage(file="pensando.gif")
b1 = tk.Button(ventana, text="Botón 1", image=imgBoton, fg="black", width=200)
b1.place(x=90, y=50)
b2 = Button(ventana, text="Ocultar carita", command=btn_hide, fg="black", width=15)
b2.place(x=130, y=280)
ventana.mainloop()
#Aportacion.- Martin Cruz Alvarez
#programa.- de Calendario
# -*- coding: utf-8 -*-
import calendar
import Tkinter as tk
import datetime
# Obtenemos los valores del año y mes a mostrarano = datetime.date.today ().year
mes = datetime.date.today ().month
def writeCalendar(ano, mes):
# Asignamos el año y mes al calendario str1 = calendar.month (ano, mes)
label1.configure (text=str1)
def mesAnterior():
global mes, ano
mes -= 1 if ano == 0:
mes = 12 ano -= 1 writeCalendar (ano, mes)
def mesSiguiente():
global mes, ano
mes += 1 if mes == 13:
mes = 1 ano += 1 writeCalendar (ano, mes)
root = tk.Tk ()
root.title ("Calendario")
# Lo posicionamos en un label
label1 = tk.Label (root, text="", font=('courier', 40, 'bold'), bg='white', justify=tk.LEFT)
label1.grid (row=1, column=1)
# ponemos los botones dentro un Frame
frame = tk.Frame (root, bd=5)
anterior = tk.Button (frame, text="Anterior", command=mesAnterior)
anterior.grid (row=1, column=1, sticky=tk.W)
siguiente = tk.Button (frame, text="Siguiente", command=mesSiguiente)
siguiente.grid (row=1, column=2)
frame.grid (row=2, column=1)
writeCalendar (ano, mes)
# ejecutamos el evento loop
root.mainloop ()