Re: Programación Grafica

Carlos Manuel Duclos Vergara carlos en embedded.cl
Jue Abr 28 04:05:09 CLT 2005


Holas,

>Claro que sé que no es C.... Sé que Qt genera código C++, de ahí el
>hecho de usar algo de C++ para enlazar con mi aplicación básica en C
>(con Biblioteca PCAP) y tal vez algunas cosas en C++ (Biblioteca STL).

con STL no tendras problemas, aunque si utilizas QT te recomendaria partir utilizando la
tonelada de clases que ellos proveen antes de pasar a usar STL.

>Principiante soy en cuanto a aplicación con GUI en *Linux*. Podría
>usar Kylix, pero no es la idea. Quiero algo nativo, algo que corra en
>la mayoría de las distros.

una pregunta capciosa, pero que puede ayudar un poco mas adelante. Vas a hacer
un software comercial? tu intencion es que sea open source? o es un desarrollo privado
y no quieres/puedes liberar el codigo fuente?

>Así ha sido lo que he probado. No tengo la seguridad de que si me
>arrepiento de un menú, puedo hacer cambios de forma transparente...
>tengo la sensación que debo re-compilar qt y regenerar el código
>C++....

de hecho QT es bastante mas flexible para la generacion de menus, solo debes regenerar
el codigo de los menus usando la herramienta adecuada (hay unos archivos que se encargan de la interfaz grafica, y un
compilador que se encarga de transformarlos a codigo). El resto del codigo no se altera
(bueno, si cambias de "Nuevo" a "Formatear" obviamente debes proveer un nuevo handler
para esa opcion del menu, pero eso es algo que tendras que hacer con cualquier alternativa 
que escojas.

>Influirá si uso Gtk en Kde, gnome.. ??

Actualmente es poco probable, sin embargo hay algunas distros que por defecto traen o qt o gtk
por lo que debes preocuparte de que este instalado el toolkit que uses.

Una nota respecto a la licencias, Gtk es LGPL y QT tiene tres licencias: GPL, QPL y comercial.
Si utilizas GTK para tu aplicacion y la quieres hacer opensource, no hay problemas. Lo mismo
para QT usando la licencia GPL o QPL.
Pero si tu intencion es hacer un software comercial (por eso la pregunta anterior), debes tener cuidado.
Aqui el problema es si quieres/puedes redistribuir el codigo fuente. Si no lo puedes/quieres redistribuir
entonces usando GTK tendras que proveer interfaces de modo que tu codigo no utilice nunca directamente
a GTK. Esto porque la licencia LGPL establece que los puntos donde se utiliza la biblioteca y se hace alguna
modificacion o se produce un trabajo derivado a partir de ella, deben ser redistribuidos bajo la licencia LGPL.
Hace como tres meses atras di un ejemplo donde podias quedar "expuesto" a liberar tu codigo (basicamente
el ejemplo es la extension de un control de GTK).
Con QT por otra parte, si quieres generar una aplicacion comercial y no quieres/puedes redistribuir tu codigo 
fuente tienes la opcion de adquirir una licencia comercial.
La gran diferencia es que con GTK no hay alternativas, excepto la de ser en extremo cuidadoso mientras que con
QT si tienes una alternativa (puede parecer un poco cara, pero depende de lo que quieras hacer se justifica)

Xhau





Más información sobre la lista de distribución Linux