Biblioteca GUI libre, multiplataforma y personalizable para C++

Pregunta

Estoy buscando una biblioteca GUI con las siguientes propiedades:

  • C++
  • Multiplataforma (Windows, Unix) y preferentemente multicompilador (Visual, GCC, Clang)
  • Skinnable (es decir, buen soporte para controlar la apariencia de los controles estándar)
  • Abierto y gratuito para uso comercial, sin copyleft (es decir, MIT, Apache, sin GPL)

El uso previsto es una aplicación técnica de escritorio, como Blender, Eclipse o algún software de edición de música/video, en lugar de un juego o un reproductor de MP3. Requiere controles típicos (una barra de menú, botones, cuadros de edición, casillas de verificación, preferiblemente ventanas empotrables, ...), solo me gustaría poder personalizar su apariencia. Aparte de eso, wxWidgets sería perfecto. La aplicación está destinada a publicarse bajo una licencia similar a Apache, de ahí el problema con el copyleft o las bibliotecas comerciales.

algunos antecedentes

Me doy cuenta de que tales preguntas han existido durante algún tiempo, pero hasta ahora no he encontrado un candidato muy prometedor. Algunas bibliotecas que he mirado más de cerca son:

  • wxWidgets con wxUniversal : suena bien, pero he leído varios informes que afirman que faltan funciones y falta de pruebas en plataformas comunes; también parece que no se ha mantenido muy recientemente. Pero necesito una plataforma estable y confiable.
  • Qt : Parece capaz pero la licencia no es compatible con el proyecto.
  • gtkmm : es un posible candidato, pero la documentación no es ideal y, según tengo entendido, los temas deben instalarse por separado en el sistema operativo, no deben enviarse con la aplicación. Tampoco estoy seguro sobre el soporte de Windows.
  • IMGUI : La mirada parece muy extraña.
  • JUCE : Parece muy bueno, pero nuevamente la licencia no es compatible.

Encontré una descripción interesante aquí:

http://blog.johnnovak.net/2016/05/29/cross-platform-gui-trainwreck-2016-edition/

Esto pasa por una lista de programas con GUI personalizados, muchos de los cuales son buenos ejemplos de lo que me gustaría lograr. Aparte de eso, el artículo parece sugerir que no existe una biblioteca apropiada, pero agradecería cualquier indicación en contrario, o algunas experiencias prácticas con wxUniversal (y wxAUI). Muchísimas gracias.

Respuestas (1)

No es exactamente lo que está buscando, pero podría considerar Chromium Embedded Framework .

De Wikipedia : Chromium Embedded Framework (CEF) es un marco de código abierto para incrustar un motor de navegador web basado en el núcleo de Chromium. Permite a los desarrolladores agregar el control del navegador web e implementar una GUI de diseño basada en HTML5 en una aplicación de escritorio (...)

Licencia: BDS

Visual Studio Code, por ejemplo , se construyó sobre él .

La idea sería tener la interfaz de usuario de su aplicación desarrollada en HTML y el código subyacente en C++.

Sí, no estoy seguro de si esto realmente encaja, pero ciertamente parece muy interesante y no he oído hablar de él en este contexto. ¡Muchos gracias!