2008-09-02 15 views
5

¿Existe alguna biblioteca de UI que pueda crear una interfaz de usuario de texto (ncurses) y una interfaz gráfica de usuario (GTK? QT?) De la misma fuente? Sé que debconf se puede usar con varias interfaces, me gustaría construir algo similar pero programable.GUI/TUI biblioteca de Linux

Respuesta

0

Tal tcl/tk proporcionaría lo que quiere http://www.tcl.tk/

Aquí está la página en la interfaz con maldiciones. Hay un reclamo allí de integración con ncurses.

http://www2.tcl.tk/2372

+0

Sé que funciona en entornos gráficos. ¿Podría vincular a la información sobre ejecutarlo en ncurses? –

1

Hay Cursed GTK, pero parece un poco anticuado. Encontré algunas referencias a un puerto de Qt a ncurses llamado Qt Console, pero parece haber desaparecido.

2

puede escribir su programa en usos ncurses, y luego usar PDCurses para convertirlo a una aplicación X11 - como se anuncia el archivo Léame.

lo sé porque lo he utilizado como maldiciones portátiles, aunque nunca he probado sus capacidades X11

0

No es exactamente una biblioteca pero se puede que no hacer una aplicación web que degrada bien a Lynx

2

Los chicos GoboLinux han creado su propio kit de herramientas para python llamado AbsTK, lo usan para su instalador, que realmente funciona realmente bien. Nunca utilicé el kit de herramientas, pero las aplicaciones creadas con él parecen sólidas.

0

Creo que lo que se usa para configurar el kernel de Linux al compilar es dialog/cdialog/xdialog. Pero ha pasado un tiempo desde que compilé un núcleo, por lo que mi memoria puede estar apagada. El enlace más prometedor que puedo encontrar es este para Xdialog.

1

Al utilizar una biblioteca que se dirige tanto al modo de texto como a los entornos de GUI, tiene un gran riesgo de quedarse atrapado con lo peor de ambos mundos.

Será mejor que estructurar su código usando el MVC pattern, y proporcionar vistas y controladores separados para cada plataforma a la que se dirija. Llevar toda la lógica a las clases de modelo tiene otras ventajas:

  • El código será más fácil de probar porque se ve obligado a mantener la interfaz de usuario fuera de la lógica de dominio real.
  • Su programa puede tener interfaces de usuario que tienen muy poco en común, p. una interfaz de usuario web o una interfaz de usuario impulsada por el habla.
  • Puede ejecutar el programa fácilmente sin ninguna UI (es decir, guiarlo) accediendo directamente a las clases de modelo de la misma forma que lo hacen las clases de controlador.
3

La biblioteca que potencia la independencia de YaST para realizar ncurses, gtk y qt con una base de código proporciona lo que está buscando, y no está vinculado a YaST.

En realidad libyui solo requiere la biblioteca estándar de C++ y phtreads (IIRC). Los complementos de UI requieren, por supuesto, las bibliotecas respectivas (Qt, ncurses). YaST usa libyui a través de un conjunto de enlaces YCP que exportan una API similar a YCP en la parte superior de libyui.

La biblioteca tiene un nivel bajo (una capa debajo de un bucle de evento), mi colega Klaus Kämpf escribió sobre su uso hace un tiempo en his blog, incluyendo el enlace a los lenguajes de scripting usando swig.

La única parte específica de SUSE es el embalaje, por lo que deberá empaquetarlo usted mismo. Stackoverflow no me permitió vincular más de una vez. El código de la biblioteca está vinculado desde el blog de Klaus. Reemplace libyui por "qt" y "ncurses" por el código del complemento.

También google para "YaST Independence From YCP" para encontrar una entrada de blog de Andreas Jäger sobre el tema.

+0

Tenga en cuenta que hay un proyecto en curso de Google SoC para hacer que libyui sea aún más independiente: http://nbprashanth.wordpress.com/category/gsoc – duncan

Cuestiones relacionadas