teslariu

form tkinter

Jun 28th, 2023
921
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.50 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import tkinter as tk
  4. import pprint
  5.  
  6. def guardar_datos():
  7.     global personas
  8.     nombre = caja_nombre.get()
  9.     email = caja_email.get()
  10.     nac = caja_nac.get()
  11.     datos = {"nombre": nombre, "email": email, "nac":nac}
  12.     personas.append(datos)
  13.     print()
  14.     pprint.pprint(personas)
  15.     # borro el formulario
  16.     caja_email.delete(0,tk.END)
  17.     caja_nac.delete(0,tk.END)
  18.     caja_nombre.delete(0,tk.END)
  19.  
  20.  
  21. """
  22. Estructura de datos
  23. personas = [
  24.        {"nombre":"Juan", "email":"[email protected]", "nacionalidad":"argentino"},
  25.        {"nombre":"Ana", "email":"[email protected]", "nacionalidad":"argentina"},
  26.    ]
  27. """
  28. personas = []
  29.  
  30. ventana = tk.Tk()  # creo una ventana gráfica
  31. ventana.title("Formulario")
  32. ventana.config(width=350, height=300)
  33. ventana.resizable(False, False)  # evita redimensionar la ventana
  34.  
  35. # campo de nombre
  36. etiqueta = tk.Label(text="Nombre")
  37. etiqueta.place(x=10, y=20)
  38. caja_nombre = tk.Entry()
  39. caja_nombre.place(x=100, y=20, width=200, height=25)
  40.  
  41. # campo de email
  42. etiqueta = tk.Label(text="Email")
  43. etiqueta.place(x=10, y=80)
  44. caja_email = tk.Entry()
  45. caja_email.place(x=100, y=80, width=200, height=25)
  46.  
  47.  
  48. # campo de nacionalidad
  49. etiqueta = tk.Label(text="Nacionalidad")
  50. etiqueta.place(x=10, y=140)
  51. caja_nac = tk.Entry()
  52. caja_nac.place(x=100, y=140, width=200, height=25)
  53.  
  54. boton = tk.Button(text="Guardar", command=guardar_datos)
  55. boton.place(x=140, y=200, width=100, height=40)
  56.  
  57.  
  58. ventana.mainloop()
  59.  
  60.  
  61.  
  62.  
  63.  
Advertisement
Add Comment
Please, Sign In to add comment