PDA

Ver la versión completa : C Librería gráfica de alto nivel para hacer Front-Ends industriales



masteries
30/11/2018, 13:34
Saludos compañer@s,


Estoy buscando una librería gráfica para hacer Front-Ends industriales en lenguaje C para PC;
de siempre he utilizado la librería emWIN ( https://www.segger.com/products/user-interface/emwin/ , si miráis un poco más abajo en esa página, en la parte de Industrial Controls )
que es estupenda, muy fácil de usar y de muy alto nivel, con un par de líneas tienes un scope funcionando sin mayores líos,

Pero emWIN es sólo para microcontroladores, y no hay versión para PC :(


Ahora me encuentro en la necesidad de hacer eso mismo a modo de Front-ends para PCs, necesito que sea en lenguaje C porque el código tiene que generarse automáticamente sí o sí (requerimientos de MISRA e IEC necesarios). Y un Front-End para LabVIEW o Simulink no me sirve porque deber correr de forma nativa,

Gracias anticipadas,

josepzin
30/11/2018, 16:17
Para mi es todo chino... a ver si alguien sabe algo.

futu-block
30/11/2018, 16:44
eso, poned un videotuto, ja ja

^MiSaTo^
30/11/2018, 16:54
No puedes usar por ejemplo QT? Se que QT tira con C++ pero no se si puedes usarlo con C también (imagino que sí)

swapd0
30/11/2018, 17:20
Lo malo es que las QT o las wxWidgets es que son enormes si solo quieres dibujar unos controles, después estan pensadas para usarlas en C++ y puede que tengas mas problemas si quieres usar solo C.

Tal vez dependiendo de lo que necesites los puedes dibujar a pelo son SDL, OpenGL. o algo parecido.

masteries
30/11/2018, 20:53
He encontrado la librería IUP, que sirve como reemplazo en PC de emWIN.
Parece ligerita,

http://webserver2.tecgraf.puc-rio.br/iup/

Contiene las funcionalidades que necesito (dibujar y actualizar gráficas), botones y barras deslizantes.
Las funciones se manejan igual de fácil y vienen a ser más o menos las mismas con distintos nombres,
además, en su interior, utiliza OpenGL para dibujar, lo que nos asegura un buen rendimiento.

La idea es que las mismas funcionalidades que tengo programadas en lenguaje gráfico de muy alto nivel (Matlab-Simulink) que me permiten generar un front-end para un microcontrolador y generar todo el código en base texto pulsando un botón, también sirva para hacerlo pero para ejecutarlo en un PC.

pakoito
30/11/2018, 22:22
imgui es C++ y se usa para hacer GUIs ligeras para herramientas de este tipo. QT es matar moscas a cañonazos :D

EDIT: Hay un port a C https://github.com/cimgui/cimgui

masteries
01/12/2018, 00:41
imgui es C++ y se usa para hacer GUIs ligeras para herramientas de este tipo. QT es matar moscas a cañonazos :D

EDIT: Hay un port a C https://github.com/cimgui/cimgui

También pinta bien, ya tengo un par para probar,

jcom
01/12/2018, 11:34
Por añadir otra posibilidad: https://github.com/vurtun/nuklear

No la he probado, simplemente vi el proyecto y guardé el enlace.

^MiSaTo^
01/12/2018, 18:05
imgui es C++ y se usa para hacer GUIs ligeras para herramientas de este tipo. QT es matar moscas a cañonazos :D

EDIT: Hay un port a C https://github.com/cimgui/cimgui

Yo k se hulio! Yo no he hecho aplicaciones de escritorio para Windows en la vida xD

pakoito
01/12/2018, 21:20
Yo k se hulio! Yo no he hecho aplicaciones de escritorio para Windows en la vida xD

Es todo Node y Electron ahora HUE HUE HUE HUE

^MiSaTo^
01/12/2018, 23:16
Es todo Node y Electron ahora HUE HUE HUE HUE

Uff uff cuanto me alegro de no tener que tocar esas cosas xD

jcom
02/12/2018, 11:29
Es todo Node y Electron ahora HUE HUE HUE HUE

Parece que hoy en día lo más importante es ahorrar en tiempo de desarrollo porque ahora todo el mundo tiene "mucha memoria y mucha CPU". Al final los que pagan son los usuarios teniendo que soportar interfaces no nativas y aplicaciones ineficientes que consumen una cantidad ridícula de recursos.

^MiSaTo^
02/12/2018, 17:12
Parece que hoy en día lo más importante es ahorrar en tiempo de desarrollo porque ahora todo el mundo tiene "mucha memoria y mucha CPU". Al final los que pagan son los usuarios teniendo que soportar interfaces no nativas y aplicaciones ineficientes que consumen una cantidad ridícula de recursos.

Totalmente. Precisamente por eso me da tanto asco node.js/ electron. Y si he hecho muchas cosas con JavaScript y node. Y me sigue pareciendo una casa de ***** xD

pakoito
02/12/2018, 23:25
Me he encontrado hoy con

https://github.com/andlabs/libui

masteries
04/12/2018, 09:48
Me he encontrado hoy con

https://github.com/andlabs/libui

¡Estás sembrado Pakoito!

Hoy empiezo a cacharrear con IUP, ya os contaré que tal,

swapd0
05/12/2018, 12:11
Estoy haciendo una aplicación en OS X que supongo que algún día debería portarla a Windows y ya de paso a Linux y estoy dudando entre imgui y libui.

No la empece con QT ni wxWidgets porque quería aprender Objective-C, ademas que cuando entiendes como va se hacen cosas muy rápidas y sin apenas escribir código. Tal vez deba empezar a portarla y usar el Cocoa para otros proyectos.

^MiSaTo^
05/12/2018, 12:14
Estoy haciendo una aplicación en OS X que supongo que algún día debería portarla a Windows y ya de paso a Linux y estoy dudando entre imgui y libui.

No la empece con QT ni wxWidgets porque quería aprender Objective-C, ademas que cuando entiendes como va se hacen cosas muy rápidas y sin apenas escribir código. Tal vez deba empezar a portarla y usar el Cocoa para otros proyectos.

Usa Swift por el amor de dios, que estamos en 2018 y además eso rula en todos lados ;)

swapd0
05/12/2018, 13:00
No se, no me convence mucho el swift, aunque lo he mirado muy por encima. Ademas, todas las librerías las tengo hechas en C++ porque necesito que corra, solo necesito algo fácil y portable para hacer la parte del interface.