Dear PyGui, un framework de interfaz gráfica de usuario de Python fácil de usar
Hace poco se dio a conocer la liberación de la nueva versión de Dear PyGui 1.0.0 (el DPG), el cual se posiciona como un framework multiplataforma para el desarrollo de GUI en Python.
La característica más importante del proyecto es el uso de subprocesos múltiples y la subcontratación de operaciones a la GPU para acelerar el renderizado. El objetivo clave de dar forma a la versión 1.0.0 es estabilizar la API. Los cambios que rompen la compatibilidad ahora se ofrecerán en un módulo «experimental» separado.
Para garantizar un alto rendimiento, la mayor parte del código DearPyGui está escrito en C++ utilizando la biblioteca Dear ImGui la cual está diseñada para crear aplicaciones gráficas en C++ y ofrecer un modelo operativo fundamentalmente diferente.
El kit de herramientas es adecuado tanto para crear rápidamente interfaces simples como para desarrollar GUI especializadas complejas para juegos, aplicaciones científicas y de ingeniería que requieren alta capacidad de respuesta e interactividad.
Los desarrolladores de aplicaciones cuentan con una API simple y un conjunto de elementos tradicionales listos para usar, como botones, controles deslizantes, botones de radio, menús, formularios de texto, visualización de imágenes y varios métodos de diseño para elementos de ventana. De las funciones avanzadas, se destaca el soporte para la formación de cuadros, gráficos y tablas.
Además, se encuentran disponibles un conjunto de visores de recursos, un editor de enlaces nodales, un sistema de inspección de la skin y elementos de renderizado a mano alzada adecuados para crear juegos en 2D. Para simplificar el desarrollo, se proporcionan varias utilidades, incluido un depurador, un editor de código, un visor de documentación y un visor de registros.
Dear PyGui implementa el modo abstracto de operación de la API (modo retenido) típico de las bibliotecas GUI, pero se implementa sobre la biblioteca Dear ImGui, que opera en IMGUI (GUI de modo inmediato).
El modo retenido significa que la biblioteca asume las tareas de formación de escenas, mientras que en el modo Inmediato el modelo de renderizado se procesa en el lado del cliente y la biblioteca de gráficos se usa solo para la salida final, es decir, la aplicación cada vez emite comandos para dibujar todos los elementos de la interfaz para formar el siguiente marco listo.
DearPyGui no utiliza los widgets nativos proporcionados por el sistema, pero genera sus propios widgets llamando a las API de gráficos OpenGL, OpenGL ES, Metal y DirectX 11, según el sistema operativo actual. Se ofrecen en total más de 70 widgets listos para usar.
En la nueva versión se menciona que se debería tener la menor cantidad de errores hasta la fecha aun que esto no descarta que pueden haber algunos errores de regresión, ya que muchos de los sistemas subyacentes se han refactorizado por completo desde 0.8 y aún hay una configuración de pruebas de regresión significativa. El enfoque principal de esta versión fue estabilizar la API, lo que ahora hemos hecho. Los problemas actuales deben reevaluarse para esta versión.
Ademas de ello, se han añadido una gran cantidad de nuevos comandos a la utilidad, junto con un nuevo modulo experimental y sobre todo con la eliminación de diversos comandos que ya han quedado obsoletos.
De los demás cambios que se destacan de esta nueva versión:
- El usuario debe crear el contexto Dear_PyGuicreate_context() antes de llamar a cualquier comando DPG
- dragPayload cambiado drag_datase envía a los objetivos en drag_callbacklugar dedrop_callback
- movió el registrador y los temas a DearPyGui_Ext
- ahora se requieren filas de la tabla
- remoto bind_item_disabled_theme()
- remoto bind_item_type_disabled_theme()
- remoto bind_item_type_theme()
- Ahora el usuario debe crear, configurar y mostrar la ventana gráfica antes de iniciar dpg.
- «create_viewport()-> setup_dearpygui()-> show_viewport()-> start_dearpygui()»
- add_theme_color() y add_theme_style() debe saber pertenecer a un theme_component
Finalmente si estás interesado en conocer más al respecto sobre Dear PyGui o también quieres saber como instalar esta herramienta en tu sistema, puedes hacerlo desde el siguiente enlace.
También es importante mencionar que el código fuente Dear PyGui distribuido bajo la licencia MIT. Soporte declarado para plataformas Linux, Windows 10 y macOS.