AgusQrKit: Aplicacion para Generar Codigos QR

AgusQRKit es una potente y moderna aplicación de escritorio desarrollada en Python que reúne 10 herramientas esenciales para la generación, personalización avanzada y lectura de códigos QR. Todo el sistema opera bajo una interfaz gráfica de usuario fluida, reactiva y optimizada de forma nativa para el modo oscuro.

A diferencia de los scripts convencionales que se ejecutan únicamente por consola de comandos o servicios web repletos de publicidad, este proyecto aprovecha las capacidades del framework Flet para ofrecer una experiencia visual multiplataforma, segura e intuitiva. A continuación, se detalla la estructura del sistema, las librerías utilizadas y el proceso para poner en marcha este entorno de herramientas local.

Características y Funcionalidades

Las herramientas de la aplicación se encuentran organizadas de manera centralizada en tres categorías principales dentro de la barra lateral de navegación:

1. Generar (Herramientas Básicas)

  • 🔗 URL / Texto: Genera códigos QR a partir de cualquier enlace web o texto libre, permitiendo cambiar el color del código y del fondo mediante selectores interactivos.
  • 📶 WiFi: Permite configurar de forma rápida el SSID, la contraseña y el tipo de seguridad (WPA/WPA2, WEP o abierta) para que los usuarios se conecten automáticamente al escanearlo, incluyendo soporte para redes ocultas.
  • 👤 Contacto (vCard): Construye códigos bajo el estándar vCard 3.0 para que el dispositivo móvil añada de forma automática los datos (nombre, teléfono, email, empresa, dirección) a la agenda de contactos.
  • 📧 Email: Genera enlaces mailto: preconfigurados con el destinatario, el asunto y el cuerpo del correo listos para enviar.
  • 💬 WhatsApp: Crea enlaces rápidos de chat (wa.me) con el número telefónico y un mensaje predefinido en el color verde oficial de la plataforma.
  • 📞 Teléfono / SMS: Configura el QR para iniciar llamadas directas o preparar un SMS pre-escrito hacia un número específico.
  • 📍 Ubicación: Abre aplicaciones de mapas en coordenadas exactas a través de latitud y longitud, con soporte opcional para etiquetas descriptivas.

2. Avanzado

  • 🎨 QR Personalizado: Diseña códigos únicos mediante un control deslizante de tamaño y bordes, paletas de colores personalizadas, esquinas redondeadas dinámicas e inserción de logos. Permite subir imágenes (PNG, JPG, SVG) para centrarlas en el QR utilizando corrección de errores de nivel alto (H) para garantizar su lectura.
  • 🔍 Leer QR: Decodifica cualquier código QR a partir de un archivo de imagen local (PNG, JPG, JPEG, BMP, GIF, WEBP) y extrae su contenido en un formato de texto limpio y copiable.
  • ⏱️ Historial: Muestra un registro visual de los últimos 30 códigos generados durante la sesión con su respectiva previsualización, tipo de contenido y fecha, incluyendo la opción de vaciar el registro con un solo clic.

3. Formatos de Exportación

Al procesar cualquier código, el sistema permite la descarga instantánea en tres formatos clave:

  • PNG (Imagen): Imagen ráster de alta calidad optimizada para entornos digitales.
  • SVG (Vectorial): Gráfico vectorial ideal para imprenta a gran escala y diseño gráfico sin pérdida de resolución.
  • PDF (Documento): Archivo listo para impresión física escalado directamente en una hoja tamaño A4.

Tecnologías y Librerías Utilizadas

El éxito de AgusQRKit radica en la integración de las librerías más eficientes y consolidadas para el procesamiento de imágenes y estructuras de datos en el ecosistema Python:

  • Flet: Framework encargado de construir la interfaz gráfica de usuario (GUI) reactiva y multiplataforma basada en Flutter.
  • qrcode: Motor principal utilizado para el cálculo y la generación de las matrices de los códigos QR.
  • Pillow: Librería esencial para el procesamiento avanzado de imágenes, el redondeo de esquinas y el acoplado de logotipos centrados.
  • reportlab: Utilizada para la creación y maquetación automatizada de los documentos PDF de exportación.
  • pyzbar: Encargada de la decodificación y lectura de las imágenes para extraer los datos ocultos en los QR.

Descarga

Requisitos Técnicos e Instalación

Para ejecutar el script o estudiar su código fuente, es necesario contar con un entorno local que cumpla con los siguientes requisitos:

1. Python

Asegúrate de tener instalado Python 3.8 o cualquier versión superior en tu sistema operativo.

2. Dependencia del Sistema Operativo (pyzbar)

El lector de códigos depende del binario compartido zbar. En sistemas como Windows las DLL necesarias ya vienen incluidas, pero en otras plataformas requiere una instalación manual previa:

  • Linux (Ubuntu/Debian): sudo apt-get update sudo apt-get install libzbar0
  • macOS: brew install zbar

3. Instalación de Librerías y Ejecución

Para configurar tu entorno virtual e instalar las dependencias de forma masiva, ejecuta la siguiente secuencia de comandos en tu terminal:

# Crear y activar entorno virtual
python -m venv .venv
source .venv/bin/activate  # En Windows usa: .venv\Scripts\activate

# Instalar dependencias
pip install flet qrcode pillow reportlab pyzbar

Una vez completada la descarga de los paquetes, la interfaz gráfica se inicializa desde el directorio raíz del proyecto ejecutando:

python main.py

Estructura del Proyecto

La arquitectura del software se divide de forma limpia para facilitar su mantenimiento y auditoría de código:

  • main.py: Punto de entrada de la aplicación. Configura las dimensiones de la ventana, inicializa el menú de navegación lateral y gestiona la carga dinámica de las vistas.
  • qr_ops.py: Capa de servicios y lógica de negocio (backend). Maneja la generación de matrices, personalización estática, exportación multiformato y la persistencia del archivo local qr_history.json.
  • views.py: Componentes visuales y maquetación de formularios (UI) para cada una de las 10 herramientas de la aplicación.

Te puede interesar: AgusPDFKit herramienta para manipular PDFs

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *