Aplicación de escritorio que corrige automáticamente palabras sin tilde en cualquier aplicación de Windows.
- Características
- Requisitos
- Instalación
- Uso
- Estructura del Proyecto
- Configuración
- Compilar a EXE
- Preguntas Frecuentes
- Solución de Problemas
- Corrección Automática Global: Funciona en cualquier aplicación de Windows (Word, navegadores, chat, etc.)
- Diccionario Extensible: Incluye cientos de palabras comunes y permite agregar palabras personalizadas
- Interfaz Moderna: GUI intuitiva y atractiva construida con PyQt6
- Ejecución en Segundo Plano: Se ejecuta minimizado en la bandeja del sistema
- Atajos de Teclado: Control rápido con hotkeys personalizables (por defecto: Ctrl+Shift+A)
- Inicio Automático: Opción para iniciar con Windows
- Sin Conexión: Todo el procesamiento es local, sin envío de datos a internet
- Bajo Consumo: Optimizado para funcionar eficientemente en segundo plano
- Control ON/OFF con indicador visual
- Gestión completa del diccionario
- Búsqueda y filtrado de palabras
- Agregar/eliminar palabras personalizadas
- Configuración de atajos de teclado
- Icono en bandeja del sistema con menú contextual
- Windows 10 o Windows 11
- Permisos de administrador (para interceptación de teclado global)
- Python 3.11 o superior
Todas las dependencias están listadas en requirements.txt:
PyQt6>=6.6.0
keyboard>=0.13.5
pyautogui>=0.9.54
pystray>=0.19.5
Pillow>=10.1.0
pyperclip>=1.8.2
# Si usas Git
git clone https://github.com/tuusuario/autocorrector-tildes.git
cd autocorrector-tildes
# O descarga el ZIP y extráeloAsegúrate de tener esta estructura:
autocorrector/
├── main.py
├── requirements.txt
├── core/
│ ├── __init__.py
│ ├── autocorrect_engine.py
│ ├── keyboard_listener.py
│ └── dictionary_manager.py
├── ui/
│ ├── __init__.py
│ ├── main_window.py
│ └── tray_icon.py
├── data/
│ ├── default_dictionary.json (se crea automáticamente)
│ └── user_dictionary.json (se crea automáticamente)
├── config/
│ ├── __init__.py
│ ├── config_manager.py
│ └── settings.json (se crea automáticamente)
└── README.md
# Crear entorno virtual (recomendado)
python -m venv venv
# Activar entorno virtual
# En Windows:
venv\Scripts\activate
# Instalar dependencias
pip install -r requirements.txt# Ejecutar con permisos de administrador (requerido)
python main.pySi ya tienes el archivo .exe compilado:
- Descarga
AutocorrectorTildes.exe - Ejecuta como administrador (clic derecho → "Ejecutar como administrador")
- Sigue las instrucciones en pantalla
-
Al ejecutar por primera vez, verás un diálogo de bienvenida explicando:
- Cómo funciona el programa
- Información de privacidad
- Atajos de teclado
-
Se te preguntará si deseas ejecutar en segundo plano
Desde la interfaz:
- Haz clic en el botón "ACTIVAR" / "DESACTIVAR"
- El indicador cambiará de color (verde = activo, rojo = inactivo)
Desde el teclado:
- Presiona
Ctrl+Shift+Aen cualquier momento - Verás una notificación indicando el estado
Desde la bandeja del sistema:
- Clic derecho en el icono
- Selecciona "Activar/Desactivar"
- Activa el corrector
- Escribe normalmente en cualquier aplicación
- Las palabras se corrigen automáticamente al presionar:
- Espacio
- Enter
- Signos de puntuación (. , ; : ! ?)
Ejemplo:
Escribes: "El camion paso por el arbol"
Resultado: "El camión paso por el árbol"
(se corrige automáticamente)
- En la sección "Agregar Nueva Palabra":
- Campo 1: Escribe la palabra SIN tilde (ej:
camion) - Campo 2: Escribe la palabra CON tilde (ej:
camión)
- Campo 1: Escribe la palabra SIN tilde (ej:
- Haz clic en "Agregar"
El sistema validará automáticamente que:
- La palabra no esté duplicada
- La palabra con tilde realmente contenga una tilde
- Busca la palabra en la tabla
- Selecciona la fila
- Haz clic en "Eliminar Seleccionada"
Usa el campo de búsqueda para filtrar el diccionario en tiempo real.
- Ve a la sección "Configuración"
- Selecciona un nuevo atajo del menú desplegable
- Los cambios se aplican inmediatamente
Opciones disponibles:
ctrl+shift+a(por defecto)ctrl+shift+tctrl+alt+aalt+shift+actrl+shift+z
Marca la casilla "Iniciar automáticamente con Windows" para que el programa se ejecute al encender tu PC.
Marca "Ejecutar en segundo plano al iniciar" para que el programa se minimice a la bandeja del sistema al abrirse.
autocorrector/
│
├── main.py # Punto de entrada principal
├── requirements.txt # Dependencias Python
├── README.md # Esta documentación
│
├── core/ # Lógica principal
│ ├── __init__.py
│ ├── autocorrect_engine.py # Motor de corrección
│ ├── keyboard_listener.py # Captura de teclado
│ └── dictionary_manager.py # Gestión de diccionarios
│
├── ui/ # Interfaz gráfica
│ ├── __init__.py
│ ├── main_window.py # Ventana principal
│ └── tray_icon.py # Icono de bandeja
│
├── config/ # Configuración
│ ├── __init__.py
│ ├── config_manager.py # Gestor de configuración
│ └── settings.json # Configuración guardada
│
└── data/ # Datos
├── default_dictionary.json # Diccionario base
└── user_dictionary.json # Palabras personalizadas
Motor principal que:
- Detecta palabras sin tilde
- Busca coincidencias en el diccionario
- Reemplaza palabras automáticamente
Escucha eventos del teclado:
- Detecta teclas de activación (espacio, enter, puntuación)
- Maneja el hotkey de toggle
- Ejecuta correcciones en tiempo real
Gestiona los diccionarios:
- Carga/guarda palabras
- Valida entradas
- Fusiona diccionario base y de usuario
Interfaz gráfica principal con:
- Control ON/OFF
- Gestión de palabras
- Configuración
- Tabla de diccionario
Icono en bandeja del sistema:
- Menú contextual
- Indicador visual de estado
- Notificaciones
Configuración persistente:
- Guarda preferencias
- Gestiona inicio automático
- Maneja primera ejecución
{
"hotkey": "ctrl+shift+a",
"start_with_windows": false,
"run_in_background": true,
"first_run": false,
"ask_background_on_startup": true
}{
"palabra1": "palabra1_con_tilde",
"palabra2": "palabra2_con_tilde"
}Puedes editar manualmente los archivos JSON para:
- Agregar múltiples palabras rápidamente
- Exportar/importar tu diccionario personal
- Resetear configuración (elimina
settings.json)
Para crear un ejecutable independiente:
pip install pyinstaller# Ejecutable de un solo archivo
pyinstaller --onefile --windowed --name="AutocorrectorTildes" --icon=config/icon.ico main.py
# Con todas las dependencias incluidas
pyinstaller --onefile --windowed --name="AutocorrectorTildes" --add-data="data;data" --add-data="config;config" main.pyEl ejecutable estará en la carpeta dist/AutocorrectorTildes.exe
--onefile: Crear un único archivo ejecutable--windowed: Sin ventana de consola--name: Nombre del ejecutable--icon: Icono personalizado--add-data: Incluir archivos de datos
Para interceptar el teclado globalmente y funcionar en todas las aplicaciones, Windows requiere permisos elevados.
NO. El programa solo lee las palabras para corregirlas en tiempo real. No almacena, registra ni transmite ningún dato.
SÍ. Todo el procesamiento es local. No necesitas conexión a internet.
Actualmente está optimizado para español. Puedes agregar palabras de otros idiomas manualmente.
Edita directamente data/user_dictionary.json siguiendo el formato JSON.
No. Está optimizado para bajo consumo de CPU y memoria.
Solución:
- Verifica que ejecutas como administrador
- Comprueba que Python 3.11+ está instalado
- Reinstala las dependencias:
pip install -r requirements.txt --force-reinstall
Solución:
- Verifica que el corrector esté ACTIVO (indicador verde)
- Comprueba que la palabra existe en el diccionario
- Prueba en una aplicación simple como Notepad primero
Solución:
- Verifica que otra aplicación no esté usando la misma combinación
- Cambia el hotkey en Configuración
- Reinicia el programa
Solución: Ejecuta el programa como administrador:
- Clic derecho → "Ejecutar como administrador"
Solución:
- Verifica que
pystrayyPillowestén instalados - Revisa la configuración de iconos de Windows
- Reinicia el programa
Solución:
- Verifica permisos de escritura en la carpeta
data/ - Comprueba que el archivo
user_dictionary.jsonno esté corrupto - Elimina el archivo y deja que se regenere automáticamente
Este proyecto está bajo la Licencia MIT.
Tu Nombre
- GitHub: @tuusuario
- Email: tuemail@ejemplo.com
Las contribuciones son bienvenidas. Por favor:
- Haz un Fork del proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
- Palabras en diccionario base: ~150
- Lenguaje: Python 3.11+
- Frameworks: PyQt6, keyboard, pyautogui
- Plataforma: Windows 10/11
- Comunidad de Python
- Colaboradores de PyQt6
- Usuarios beta testers
¿Encontraste útil este proyecto? ¡Dale una ⭐ en GitHub!