Recomendaciones de GUI para el proyecto Python

Uso Python para propósitos básicos de back-end, usando mucho numpy/pandas. Ahora estoy buscando construir un programa que incorpore una GUI. Para mi programa, estoy pensando en usar una GUI relacionada con Python, como Tkinter o Kivy, o aprender JavaScript y construirlo a través de html o usando electron.

El programa gira principalmente en torno a una tabla de datos mostrada. Las celdas (o casillas) de la tabla de datos deben ser editables simplemente haciendo clic en la casilla. Los valores en estas celdas tendrán un formato condicional aplicado (haciendo que el fondo cambie de color para cada celda).

Una gran ventaja sería si los datos pudieran insertarse fácilmente en un marco de datos de pandas en caso de que quisiera realizar más ajustes de back-end.

Hasta ahora he estado incursionando en Kivy, pero no parece manejar marcos de datos y salidas de tablas de datos de manera muy intuitiva (¡podría estar equivocado al respecto y solo necesito más experiencia con el programa!).

¿Qué solución GUI podría ser la más adecuada para mis deseos de tabla de datos ?

NOTA: cualquier solución que elija, me gustaría que tuviera problemas mínimos con la licencia, etc. (Creo que este es un problema con PyQT, pero podría estar equivocado).

Dibujo muy básico de cómo podría verse la aplicación:

ingrese la descripción de la imagen aquí

Deberías echarle un vistazo a libui. Es de código abierto en GitHub y esperaría que haya un envoltorio de Python, ya que es bastante popular.
Según la información en la página de Github, sería cauteloso con libui, ya que dice "algo tendrá errores en ciertas plataformas, y faltan muchas cosas".

Respuestas (1)

Mi sugerencia sería instalar wxPython y pip install wxPythonluego ejecutar la demostración (desde la línea de comando wxdemodebería hacer el trabajo y echar un vistazo a las demostraciones para Core Windows/Controls->Grid->wx.Grid Showing Editors and Rendersy la de Shows how to create a custom Cell Editor.

wxPython tiene una licencia muy permisiva : LGPL con distribución binaria .

wx.Grid mostrando editores y renderizados Muestra cómo crear un editor de celdas personalizado.