#Aqui insertamos el codigo import pygame from pygame.locals import * from OpenGL.GL import * from OpenGL.GLU import * verticies = ( (1, -1, -1),#0 (1, 1, -1),#1 (-1, 1, -1), (-1, -1, -1), (1, -1, 1), (1, 1, 1), (-1, -1, 1), (-1, 1, 1), ) edges = ( (0,1), (0,3), (0,4), (2,1), (2,3), (2,7), (6,3), (6,4), (6,7), (5,1), (5,4), (5,7) ) def Cube(): glBegin(GL_LINES) for edge in edges: for vertex in edge: glVertex3fv(verticies[vertex]) glEnd() def main(): pygame.init() display = (800,600) pygame.display.set_mode(display, DOUBLEBUF|OPENGL) gluPerspective(45, (display[0]/display[1]), 0.1, 50.0) glTranslatef(0.0,0.0, -5) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() glRotatef(1, 3, 1, 1) glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT) Cube() pygame.display.flip() pygame.time.wait(10) main()
miércoles, 9 de mayo de 2018
Figuras 2D con Pyhton:
martes, 8 de mayo de 2018
Progroma Ensamblador con macro:
bucle1 macro tama,x,y
mov CX, tama
BUCLE:
MOV DX, SI
ADD DX, x
MOV DH, y
coloca ;este es el macro para colocar en la posicion la letra
;se guarda letra por letra
MOV AL, [SI+OFFSET TITULO]
;guarda color por color
MOV BL, [SI+OFFSET COLORES]
color ;este es el macro que selecciona un color
INC SI
LOOPNZ BUCLE
endm
color macro ;macro que selecciona el color
MOV AH, 9
INT BIOS
endm
coloca macro;macro que selecciona una posicion
MOV AH, 2
INT BIOS
endm
.STACK 64
.MODEL SMALL
CR EQU 13
LF EQU 10
BIOS EQU 10H
DOS EQU 21H
TEXTO EQU 3
FIN EQU 4C00H
.DATA
;ponemos el texto que querramos mostrar
TITULO DB 'Agnax & Alizz Y pedrito',
;aqui va la lista de los colores
;del texto
colores DB 50H
DB 5fH
DB 50H
DB 5fH
DB 50H
DB 00H
DB 0f0H
DB 00h
DB 20H
DB 20H
DB 20H
DB 20H
DB 20H
DB 00H
DB 0fH
DB 0fH
DB 0fH
DB 0fH
DB 0fH
DB 0fH
DB 0fH
DB 0fH
DB 0fH
DB 0fH
DB 0fH
.CODE
;esta zona es para poner el texto
COLO PROC FAR
MOV AX, @DATA
MOV DS, AX
;Aquí se pone el macro del bucle
bucle1 25,30,12
MOV AH, 8
INT DOS
coloca ;este es el macro para colocar en la posicion la letra
MOV AX, FIN
INT DOS
COLO ENDP
ret
miércoles, 2 de mayo de 2018
Estudiar WXGlade ayuda a crear Interfaz Grafica GUI
framework de desarrollo gráfico wxPython --- libreria de Python
Al Trabajar WXGlade ( vamos a utilizar wxGlade, un diseñador que no es un IDE pero crea widgets para wxPython), nos permitirá crear una interfaz gráfica!! que es muy parecido a un IDE, que facilita muchisimo crear nuestra interfaz, generando la interfaz en diferentes lenguajes entre ellos
Paython, C, Perl..... checar sitio:
Aqui lo pueden bajar:
Aportacion de Armando Monrreal :
Abrir enlace
Actividades en clase, para el Grupo de Admon de Base de Datos y Graficacion.... checare lo siguiente:
* Sacar un resumen de dicho sitio.... para saber que hace la heramienta.
* es importante que al usarla bajen la libreria wxpython, que es un modulo que ayuda a crear la interfaz grafica de un a aplicacion en Python...
recuerden como pueden bajarla:
pip install wxpython
* Estudiar el siguiente Tutorial:
Abrir enlace
Aqui en este blog viene un ejemplo interesante: (hacerlo)
Abrir enlace
Hacer este video:
Abrir enlace
Al Trabajar WXGlade ( vamos a utilizar wxGlade, un diseñador que no es un IDE pero crea widgets para wxPython), nos permitirá crear una interfaz gráfica!! que es muy parecido a un IDE, que facilita muchisimo crear nuestra interfaz, generando la interfaz en diferentes lenguajes entre ellos
Paython, C, Perl..... checar sitio:
Aqui lo pueden bajar:
Aportacion de Armando Monrreal :
Abrir enlace
Actividades en clase, para el Grupo de Admon de Base de Datos y Graficacion.... checare lo siguiente:
* Sacar un resumen de dicho sitio.... para saber que hace la heramienta.
* es importante que al usarla bajen la libreria wxpython, que es un modulo que ayuda a crear la interfaz grafica de un a aplicacion en Python...
recuerden como pueden bajarla:
pip install wxpython
* Estudiar el siguiente Tutorial:
Abrir enlace
Aqui en este blog viene un ejemplo interesante: (hacerlo)
Abrir enlace
Hacer este video:
Abrir enlace
miércoles, 18 de abril de 2018
Ejercicios, practicando con la GUI de Python
#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 ()
sábado, 14 de abril de 2018
miércoles, 14 de marzo de 2018
prog valida:
import sys from Tkinter import * import tkMessageBox def validar(): if len(ent_usuario.get()) < 6 : tkMessageBox.showerror('Error', 'El usuario debe tener al menos 6 caracteres') if (ent_usuario.get()).isalnum() == FALSE : tkMessageBox.showerror('Error', 'El usuario debe tener solo numeros o letras') if len(ent_usuario.get()) > 12 : tkMessageBox.showerror('Error', 'El usuario no puede tener mas de 12 caracteres') if len(ent_usuario.get()) > 5 and len(ent_usuario.get()) < 12 and (ent_usuario.get()).isalnum() == TRUE: tkMessageBox.showinfo('usuarios aceptado', 'El usuario es correcto') ventana= Tk() ventana.title('Validar Password') ventana. geometry('600x400') vp = Frame(ventana) #estamos utilizando el objeto framevp.grid(column=0, row=0, padx =(50,50), pady=(10,10)) vp.columnconfigure(0, weigh=1) vp.rowconfigure(0, weight =1) etiqueta = Label(vp,text='Ingrese el nombre de Usuario: ') etiqueta.grid(row=2, column=4, padx=(20,20), pady=(20,20)) usuario = ""ent_usuario = Entry(vp, width=12, textvariable=usuario) ent_usuario.grid(row=2, column=5) Boton = Button(vp, text='Validar usuario', command= validar) Boton.grid(row=2, column=6, padx=(20,20), pady=(20,20)) #etiqueta2 = Label(vp, text='Ingrese el Password: ')#etiqueta2.grid(row=4, column=4, padx=(20, 20), pady=(20, 20)) #password = ""#ent_pass = Entry(vp, width=10, show="*", textvariable=password)#ent_pass.grid(row=4, column=5) #Boton2 = Button(vp, text='Validar passw:', command=valida2)#Boton2.grid(row=4, column=6, padx=(20, 20), pady=(20, 20)) ventana.mainloop()
Suscribirse a:
Entradas (Atom)