Un desglose de las bibliotecas y módulos utilizados en el script.
import tkinter as tk
Es la biblioteca estándar de Python para crear interfaces gráficas de usuario (GUI).
Al importarla con el alias as tk
, simplificamos las llamadas a sus funciones, usando tk
como prefijo.
Uso en el script: Es la base de toda la interfaz. Se utiliza para crear la ventana principal (tk.Tk()
),
así como todos los componentes visuales básicos como etiquetas (tk.Label
), campos de texto (tk.Entry
)
y botones (tk.Button
).
from tkinter import messagebox, ttk
Se importan submódulos específicos de tkinter para funcionalidades adicionales:
Uso en el script:
messagebox.showwarning()
para mostrar advertencias y messagebox.askyesno()
para pedir confirmación antes de borrar un contacto.ttk.Treeview
para construir la tabla donde se listan los contactos, permitiendo cabeceras claras como "Nombre" y "Teléfono".import sqlite3
Es el módulo estándar de Python que permite trabajar con bases de datos SQLite. SQLite es un motor de base de datos ligero, basado en archivos y que no requiere un servidor externo.
Uso en el script: Se encarga de toda la persistencia de datos. Permite conectar o crear el archivo
de base de datos contacts.db
, definir la estructura de la tabla de contactos, y ejecutar
comandos SQL para insertar
, actualizar
, borrar
y consultar
los registros.
from typing import List, Tuple
Importa tipos específicos del módulo typing
para añadir anotaciones de tipo (type hints) al código.
Estas anotaciones no cambian el comportamiento del programa, pero mejoran drásticamente la legibilidad y permiten que
herramientas de análisis estático (linters, IDEs) detecten posibles errores.
Uso en el script: Se utiliza para declarar explícitamente el tipo de dato que devuelven algunas funciones.
Por ejemplo, la función fetch_all()
se anota para indicar que devuelve una
List[Tuple[int, str, str]]
, es decir, una lista de tuplas donde cada tupla contiene un ID (entero), un nombre (cadena) y un teléfono (cadena).