Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- #
- """
- Un paradigma de programación es una forma de pensar un problema
- para representarlo como un algoritmo
- La POO (programación orientada a objetos) es un paradigma que establece
- que el mundo real está compuesto por objetos (sustantivos) con
- diversas propiedades (adjetivos) y que pueden realizar acciones (verbos)
- Una clase es un conjunto de objetos homogéneos: ej: la clase Perro, Gato
- SerHumano, Avion, Cuadrado, Silla
- Un objeto en particular se denomina INSTANCIA. EJ. LeoMessi es una instancia
- de la clase SerHumano.
- Las propiedades de los objetos se denominan atributos. EJ. la clase Perro
- tiene como atributos edad, raza, altura, peso, etc
- Los mètodos son las acciones que puede hacer un objeto: Ej Clase Perro
- tiene como métodos ladrar, comer, saltar, jugar, etc.
- """
- # En programción gráfica, tenemos un objeto principal: ventana y objetos
- # secundarios (controles o widgets)
- # existen varias bibliotecas gráficas, pero solo una en la biblioteca std
- # de Python: tkinter
- import tkinter as tk
- from pprint import pprint
- def clic():
- global personas
- # leo los valores de las cajas
- nombre = caja_nombre.get()
- email = caja_email.get()
- tel = caja_tel.get()
- edad = caja_edad.get()
- # agrego los datos a la lista
- persona = {"nombre":nombre, "email":email, "tel":tel, "edad":edad}
- personas.append(persona)
- # imprimo todos los valores almacenados hasta el momento
- print("\nUsuarios")
- pprint(personas)
- # borro los datos del formulario
- caja_edad.delete(0,tk.END)
- caja_tel.delete(0,tk.END)
- caja_email.delete(0,tk.END)
- caja_nombre.delete(0,tk.END)
- # voy a guardar los datos de las personas en una lista de diccionarios
- # ej:
- # personas = [ {"nombre":"Juan", "email":"juan@ki.com",....}]
- personas = []
- # creo una ventana
- ventana = tk.Tk()
- ventana.title("Formulario")
- ventana.config(width=400, height=400, bg="light salmon")
- # campo NOMBRE
- caja_nombre = tk.Entry()
- caja_nombre.place(x=120, y=50, width=200, height=25)
- etiqueta = tk.Label(
- text="Nombre",
- bg="light salmon",
- font=('arial',12,'bold'),
- fg="red"
- )
- etiqueta.place(x=30, y=50)
- # campo EMAIL
- caja_email = tk.Entry()
- caja_email.place(x=120, y=100, width=200, height=25)
- etiqueta = tk.Label(
- text="Email",
- bg="light salmon",
- font=('arial',12,'bold'),
- fg="red"
- )
- etiqueta.place(x=30, y=100)
- # campo TEL
- caja_tel = tk.Entry()
- caja_tel.place(x=120, y=150, width=200, height=25)
- etiqueta = tk.Label(
- text="Telefono",
- bg="light salmon",
- font=('arial',12,'bold'),
- fg="red"
- )
- etiqueta.place(x=30, y=150)
- # campo EDAD
- caja_edad = tk.Entry()
- caja_edad.place(x=120, y=200, width=200, height=25)
- etiqueta = tk.Label(
- text="Edad",
- bg="light salmon",
- font=('arial',12,'bold'),
- fg="red"
- )
- etiqueta.place(x=30, y=200)
- # LLAMADO A FUNCIONES DESDE ENTORNO GRAFICO
- # los botones llaman a funciones de consola de Python mediante la palabra
- # reservada 'command'; pero no puedo pasarle argumentos, por eso se
- # escribe sin paréntesis, es clic y no clic()
- boton = tk.Button(text="Guardar", command=clic)
- boton.place(x=120, y=250, width=100, height=40)
- ventana.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement