Sistema de diseño y librería de recursos visuales para RQT2.
Caution
Este es un repositorio núcleo. Cualquier cambio en la paleta o iconos se propagará a todos los módulos que lo consumen.
- Quickstart
- Estructura del Repositorio
- Recursos Visuales
- Tipografía
- Uso de Estilos (QSS)
- Cómo contribuir
- License
- Maintainers
Este repositorio está diseñado para ser consumido como un Git Submodule. Esto permite que los recursos estén disponibles offline
# Usa la carpeta external/ para recursos compartidos
git submodule add https://github.com/RQT2/rqt2-components.git external/rqt2-components
git submodule update --init --recursive
git submodule update --remote --merge./
├── assets/
│ ├── branding/ # Identidad de marca (Isotipos)
│ ├── icons/ # Librería de iconos para acciones de ROS 2
├── media/
│ └── fonts/ # Fuentes Nunito Sans y Ubuntu Mono/Nerd Font Mono
├── styles/
│ ├── themes/ # Hojas de estilo .qss
│ └── palette.json # Definición maestra de colores
├── releases/ # Capturas soficiales para documentación
└── README.md
Para mantener la agilidad del repositorio, la documentación detallada se ha segmentado:
- Catálogo de Iconos (ICONS.md): Tabla completa de iconos, comandos asociados y sus roles.
- Identidad de Marca (BRANDING.md)): Guía de uso del isotipo, márgenes de seguridad para iconos y exportación.
- Paleta Detallada (PALETTE.md)): Muestrario completo de colores para temas Claro y Oscuro.
El proyecto utiliza fuentes locales para garantizar consistencia sin conexión a internet.
| Fuente | Uso | Licencia |
|---|---|---|
| Nunito Sans | Interfaz de Usuario (UI) | OFL |
| Ubuntu Mono | Terminal, Logs y Código | UFL |
| Ubuntu Nerd Font Mono | Glifos técnicos e iconos integrados | UFL |
Los estilos siguen un formato Flat Modern Minimalist con bordes redondeados calculados al 18.75% de la dimensión mínima.
# Ejemplo de carga en PySide6
from PySide6.QtWidgets import QApplication
def load_theme(app, theme_name="dark"):
with open(f"external/rqt2-components/styles/themes/{theme_name}.qss", "r") as f:
app.setStyleSheet(f.read())- Lee CONTRIBUTING.md antes de enviar PR.
- Para añadir un icono nuevo:
- Añadir capas para los estatus
default,hoveryclicka assets/icons/window-buttons.xcf - Añadir SVGs a assets/icons/<nombre_del_icono>.
- Actualizar assets/ICONS.md con el icono, nombre, comando y rol.
- Crear PR con descripción y captura.
- Añadir capas para los estatus
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
- adnKSharp adnksharp@gmail.com