teslariu

tkinter ejempo de formulario

May 27th, 2023
1,130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.57 KB | None | 0 0
  1. usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. # Necesito una biblioteca para programar gráficamente: tkinter
  5. # tkinter es un derivado de TCL/Tk (biblioteca TK del lenguaje TCL)
  6. # reescrito para Python
  7.  
  8. import tkinter as tk
  9.  
  10. def borrarPantalla():
  11.     import os
  12.     if os.name == "posix":
  13.         os.system ("clear")
  14.     else:
  15.         os.system ("cls")
  16.  
  17. def guardar_datos():
  18.     # importo una libreria para imprimir 'estructuras complicadas''
  19.     # de listas y diccionarios
  20.     import pprint
  21.    
  22.     # le doy permiso a la función para que acceda a la
  23.     # lista 'personas'
  24.     global personas
  25.    
  26.     # borro la pantalla
  27.     borrarPantalla()
  28.    
  29.     # leo los datos del formulario
  30.     nombre = caja_nombre.get()
  31.     email = caja_email.get()
  32.     tel = caja_tel.get()
  33.    
  34.     # armo el diccionario con los datos
  35.     datos = {"nombre": nombre, "email": email, "tel":tel}
  36.    
  37.     # incorporo los datos en la lista
  38.     personas.append(datos)
  39.    
  40.     # limpio las cajas de texto
  41.     caja_email.delete(0,tk.END)
  42.     caja_tel.delete(0,tk.END)
  43.     caja_nombre.delete(0,tk.END)
  44.    
  45.     # muestro los datos
  46.     pprint.pprint(personas)
  47.    
  48.     # muestro un cuadro de diálogo para que el Data Entry sepa
  49.     # que los datos se han guardado correctamente
  50.     from tkinter import messagebox
  51.     messagebox.showinfo(title="Información", message="Datos añadidos correctamente")
  52.    
  53.  
  54.  
  55. # Diagramo como guardar mis datos
  56. """
  57. personas = [
  58.    {"nombre":"Ale", "email":"[email protected]", "tel": "12123332"},
  59.    {"nombre":"Juan", "email":"[email protected]", "tel": "993332"},
  60.    {"nombre":"Pepe", "email":"[email protected]", "tel": "12288888"},
  61. ]
  62. """
  63. personas = []
  64.  
  65.  
  66.  
  67. # necesito crear una ventana
  68. ventana = tk.Tk()
  69.  
  70. # algunas propiedades de la ventana
  71. ventana.config(width=400, height=300)
  72. ventana.title("Formulario")
  73.  
  74. # evita el redimensionamiento de la ventana
  75. ventana.resizable(False,False)
  76.  
  77. # cada campo tiene una etiqueta y una caja de texto
  78. # campo nombre
  79. etiqueta = tk.Label(text="Nombre")
  80. etiqueta.place(x=20, y=20)
  81. caja_nombre = tk.Entry()
  82. caja_nombre.place(x=120,y=20, width=200, height=25)
  83.  
  84. # campo email
  85. etiqueta = tk.Label(text="Email")
  86. etiqueta.place(x=20, y=70)
  87. caja_email = tk.Entry()
  88. caja_email.place(x=120,y=70, width=200, height=25)
  89.  
  90. # campo telefono
  91. etiqueta = tk.Label(text="Teléfono")
  92. etiqueta.place(x=20, y=120)
  93. caja_tel = tk.Entry()
  94. caja_tel.place(x=120,y=120, width=200, height=25)
  95.  
  96. # botón
  97. boton = tk.Button(text="Guardar datos", command=guardar_datos)
  98. boton.place(x=150, y=180, width=120, height=50)
  99.  
  100. ventana.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment