domingo, 2 de diciembre de 2018

datos basicos

programa que guarda datos basicos del usuario.

codigo del programa

from Tkinter import *
root = Tk()
root.title('formulario 1')
nombre_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)
last_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)
mail_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)
endfinish = Button(root,text="finalizar",relief=FLAT)
endfinish.grid(row=4,column=2)
root.mainloop()


programa ejecutandose:



calcular interes anual

programa que calcula el interes anual.

programa de operación matematica que calcula el interes anual en pesos mexicanos durante un periodo de años escritos por el usuario.

el codigo del programa es el siguiente:


# !/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, "anos, con un interes de", v2, " usted habra 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="Anos:")
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=val3)
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()


el resultado final se muestra en consola:




mostrar y ocultar imagen

programa que muestra y oculta imagen.

lo principal en este programa es descargar una imagen en formato .gif, la que guste el usuario, guardarla en la carpeta de scratches de nuestro pograma pycharm y en la linea 19 img=boton = photoimage cambiar el nombre entre comillas al nombre de la imagen guardada.


# -*- coding: utf-8 -*-import Tkinter as tkfrom Tkinter import *

ventana = Tk()
ventana.geometry('400x700')
ventana.config(bg="black")
ventana.title("Mostrando y ocultando un boton 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="mario.gif")
b1 = Button(ventana, text="Boton 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=250)

ventana.mainloop()


programa ejecutandose:


crear calendario

calendario en python.

para crear un calendario en python se utiliza el siguiente codigo:


#!/usr/bin/env phyton
# - * - coding: utf - 8 -*-# Simple calendario con tkinter

import calendar
import Tkinter as tk
import datetime

# Obtenemos los valores del ano y mes a mostrar
ano = datetime.date.today().year
mes = datetime.date.today().month


def writeCalendar(ano, mes):
    # Asignamos el ano 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()


calendario mostrandose en ventana:


multiplicaciones

programa que realiza multiplicaciones.

el siguiente programa realiza multiplicaciones de numero ingresados por el usuario pero solo multiplica el numero ingresado x5, x10 x15 o x20.

el codigo es el siguiente:

# -*- coding: utf-8 -*-
from Tkinter import *


def hacer_click():
    try:
        valor = int(entrada_texto.get())
        valor = valor * 5        etiqueta.config(text=valor)

    except ValueError:
        etiqueta.config(text="Introduzca un valor")


def hacer_click2():
    try:
        valor2 = int(entrada_texto2.get())
        valor2 = valor2 * 10        etiqueta2.config(text=valor2)

    except ValueError:
        etiqueta2.config(text="Introduzca un valor")


def hacer_click3():
    try:
        valor3 = int(entrada_texto3.get())
        valor3 = valor3 * 15        etiqueta3.config(text=valor3)

    except ValueError:
        etiqueta3.config(text="Introduzca un valor")

def hacer_click4():
    try:
        valor4 = int(entrada_texto4.get())
        valor4 = valor4 * 20        etiqueta4.config(text=valor4)

    except ValueError:
        etiqueta4.config(text="Introduzca un valor")


app = Tk()  # marco de la aplicacion con el obj Tkvp = Frame(app)  # usamos el objeto frame'''ahora le damos formato a nuestra ventana, y para esovamos a utilizar el metodo grid(), el cual nos va a permitirposicionar los elementos graficos en nuestra ventana.
otro parametro que utilizaremos sera el margen: padx = (50,50)lo cual indica 50 pixeles del lado izquierdo y 50 pixelesdel lado derecho
luego utilizamos pady = (10,10), que son 10 pixeles en la partesuperior y 10 pixeles en la parte inferior'''
vp.grid(column=0, row=0, padx=(50, 50), pady=(10, 10))

'''luego vamos a utilizar los metodos columnconfigure()y rowconfigure() los cuales nos van a servir para dar unpeso relativo del ancho y el alto de todos los elementos que se pongan en la ventana'''
vp.columnconfigure(0, weight=1)
vp.rowconfigure(0, weight=1)

'''creamos una etiqueta llamada valor y la posicionamoscon el metodo grid()'''
etiqueta = Label(vp, text="valor")  # creo un objeto etiquetaetiqueta.grid(column=100, row=1)

etiqueta2 = Label(vp, text="valor 2")
etiqueta2.grid(column=100, row=4)

etiqueta3 = Label(vp, text="valor 3")
etiqueta3.grid(column=100, row=6)

etiqueta4 = Label(vp, text="valor 4")
etiqueta4.grid(column=100, row=9)

'''creamos un boton de OK y posicionamos con grid '''
boton = Button(vp, text="Multiplicar por 5", command=hacer_click)
boton.grid(column=1, row=1)

boton1 = Button(vp, text="Multiplicar por 10", command=hacer_click2)
boton1.grid(column=1, row=4)

boton2 = Button(vp, text="Multiplicar por 15", command=hacer_click3)
boton2.grid(column=1, row=6)

boton3 = Button(vp, text="Multiplicar por 20", command=hacer_click4)
boton3.grid(column=1, row=9)

valor = ""entrada_texto = Entry(vp, width=10, textvariable=valor)
entrada_texto.grid(column=2, row=1)

valor2 = ""entrada_texto2 = Entry(vp, width=10, textvariable=valor2)
entrada_texto2.grid(column=2, row=4)

valor3 = ""entrada_texto3 = Entry(vp, width=10, textvariable=valor3)
entrada_texto3.grid(column=2, row=6)

valor4 = ""entrada_texto4 = Entry(vp, width=10, textvariable=valor4)
entrada_texto4.grid(column=2, row=9)

app.mainloop()  # es el metodo mainloop, lanza la ventana                                                           


programa ejecutandose:

programa que marca la ruta de un archivo.

programa que usa un concepto similar a cuando nosotros guardamos una imagenes desde la web desde el pc pero esta solo nos marca la ruta del archivo que tenemos en nuestra pc.

codigo del programa:

from Tkinter import *
from tkFileDialog import askopenfilename

root = Tk()
root.geometry("500x500")
root.title("Mostrar ruta fichero")

et1 = Label(root, text="Pulsa en el boton y elige una ruta").place(x=150, y=70)


def llamada():
    nombre = StringVar()
    nombre.set(askopenfilename())
    Entry(root, width=40, textvariable=nombre).place(x=100, y=100)


Entry(root, width=40).place(x=100, y=100)
Button(root, text="...", command=llamada).place(x=370, y=100)

root.mainloop()


programa ejecutandose correctamente:



programa que almacena texto en una lista

programa lista

programa que sirve principalmente para almacenar cualquier cosa escrita sobre temas que quiera el usuario para crear una lista.

codigo:

from Tkinter import *

root = Tk()
root.geometry("500x500")
root.title("tareas pendiente")


def fun():
    x = aux2.get()
    pelis.append(x)
    lol = OptionMenu(root, aux, *pelis).place(x=350, y=140)


et1 = Label(root, text="Escribe el nombre de una tarea").place(x=100, y=100)
et2 = Label(root, text="tareas").place(x=350, y=100)
aux = StringVar()
aux.set("")
aux2 = StringVar()
pelis = [""]
lol = OptionMenu(root, aux, *pelis).place(x=350, y=140)

c1 = Entry(root, textvariable=aux2).place(x=100, y=140)
b1 = Button(root, text="Ingresar", command=fun).place(x=100, y=170)

root.mainloop()


programa en funcionamiento: