¿Qué elijo? Qt vs GtK

Buenas,

Trankilo, no voy a hacer un hilo kde vs gnome [sati] .

Para un nuevo proyecto me tocaría hacer un programa con gui para Linux.
Yo, alma candida, sé C y C++ (algo oxidailla) y también las mfc's y toda la pesca, pero en Linux, ni papa de guis.

Por lo que de partida, creo ke me supone igual de esfuerzo usar gtk como qt .

Busco opiniones para saber con ké libro de los ke me he sacado de la biblio empiezo a mirar :-p.

Lo que me importa es:

1> Cual pensais ke es más "eye candy" (la apariencia importa) por supuesto con buena variedad de themes, de widgets ... El sistema supongo ke llevará un fluxbox o algo pekeñito y esa aplicación, para que tire mejor...

2> Robustez, si sabeis cual de las dos es la más robusta, o algún sitio donde lo comenten.. ya que el sistema debería caerse las menores veces posibles...

3> Facilidad de aprendizaje, mejor documentación en espanish (supongo ke gtk), si tienen ya objetos para tema de sockets, un generador de guis específico ke se salga de la media, etc...

Un saludo
Yo he tenido el mismo dilema hace poco y tiré por Qt, sobre todo porque no es sólo una librería grafica, lo que para mí la hace más completa.

La verdad es que tiré de la documentación oficial de Qt (en inglés) pero supongo que podrás encontrar de todo, es muy muy fácil de usar gracias a Qt Designer.

Un saludo y suerte.

P.D. Vaya nickname XD
si lo que quieres es maxima robustez, quizas deberias programarlo en NCURSES... aunque sea modo texto XD

tanto QT como GTK son bastante maduras. mirate las licencias, ya que si quieres venderlo luego, con QT tendras que apoquinar a trolltech, mientras que GTK es totalmente libre...
f5net escribió: si lo que quieres es maxima robustez, quizas deberias programarlo en NCURSES... aunque sea modo texto

tanto QT como GTK son bastante maduras. mirate las licencias, ya que si quieres venderlo luego, con QT tendras que apoquinar a trolltech, mientras que GTK es totalmente libre...


¿ ncurses "eye candy" ? X-D

La verdad es que la pasta ke hay ke apokinar a trolltech es considerable...

Platform Console Edition Desktop Light Edition Desktop Edition
One Platform EUR1420 EUR1590 EUR2630

Pero bueno, de primeras, vamos a suponer ke no es un problemón X-D (k puede llegar a serlo....)

Aunque no sé, en realidad el programa en sí no se distribuirá, si no ke irá dentro de un Pc que está dentro de una infraestructura enorme (mucha pasta en el proyecto...) no sé...


Jaime escribió:Yo he tenido el mismo dilema hace poco y tiré por Qt, sobre todo porque no es sólo una librería grafica, lo que para mí la hace más completa.

La verdad es que tiré de la documentación oficial de Qt (en inglés) pero supongo que podrás encontrar de todo, es muy muy fácil de usar gracias a Qt Designer.

Un saludo y suerte.

P.D. Vaya nickname


Bajando.. xD parece más completo qt, sí... ¿ tu proyecto fue GPL [666] ?

Pd: ¿ ké le pasa a dykstra X-D ?
Saludo2
Trankilo, no voy a hacer un hilo kde vs gnome .
Pues... va a ser difícil...
Para un nuevo proyecto me tocaría hacer un programa con gui para Linux.

Yo, alma candida, sé C y C++ (algo oxidailla) y también las mfc's y toda la pesca, pero en Linux, ni papa de guis.
MFC is Devil.
Por lo que de partida, creo ke me supone igual de esfuerzo usar gtk como qt .
Aprender depende de tus ganas...
1> Cual pensais ke es más "eye candy" (la apariencia importa) por supuesto con buena variedad de themes, de widgets ... El sistema supongo ke llevará un fluxbox o algo pekeñito y esa aplicación, para que tire mejor...
QT
2> Robustez, si sabeis cual de las dos es la más robusta, o algún sitio donde lo comenten.. ya que el sistema debería caerse las menores veces posibles...
GTK+, QT y wxWigets, la robustez no suele ser problema en ninguna...
3> Facilidad de aprendizaje, mejor documentación en espanish (supongo ke gtk), si tienen ya objetos para tema de sockets, un generador de guis específico ke se salga de la media, etc...
Yo soy de la opinión que GTK es más sencilla de aprender, pero bueno... allá cada uno con sus manías.

Multiplataforma absoluta y ligereza: wxWidgets.

Para todo lo demás... GTK :D

Por cierto... siempre han dicho que las QT tenían mejor "EyeCandy"... pues una de las aplicaciones españolas "libre" de contabilidad llamada "facturalux"... es horrible, y se supone que es "pro". GTK4EVER!

Saludos ;)
¿En qué veis Qt más completo que GTK+?
dykstra escribió:Buenas,

Trankilo, no voy a hacer un hilo kde vs gnome [sati] .

3> Facilidad de aprendizaje, mejor documentación en espanish (supongo ke gtk), si tienen ya objetos para tema de sockets, un generador de guis específico ke se salga de la media, etc...

Si te decides por GTK, la GUI la puedes hacer con Glade y generar un XML para cargarla en tu aplicación. Extremadamente sencillo. (El "workaround" para dar luego las funcionalidades de OOP en C ya no me gusta tanto, pero bueno, es tema personal,la documentación está bien). De Qt, ni idea, no lo he probado.

Un saludo.
QT es gratis mientras no saques un duro con tu proyecto. en el mismo momento que tu proyecto genere un centimo de beneficio para ti o tu empresa, deberas pagar a trolltech.

eso si, si DONAS el soft bajo GPL y el proyecto genera ganancias a OTRA persona en OTRA empresa, NO deberas aflojar pasta a trolltech...

bajo este punto de vista, quizas deberias desarrollar en GTK :D:D:D
f5inet escribió:QT es gratis mientras no saques un duro con tu proyecto. en el mismo momento que tu proyecto genere un centimo de beneficio deberas pagar a trolltech.

bajo este punto de vista, quizas deberias desarrollar en GTK :D:D:D


En primer lugar decir que hablo con muy poco conocimiento del tema, corregidme si me equivoco:

¿Realmente es así?

Tenía entendido que Qt tenía doble licencia, GPL y otra de pago, sólo se tendría que pagar si quisieras usar otra licencia en tu proyecto que no sea la GPL.

Por lo tanto si quieres cerrar el código deberías pagar lo que pide Trolltech, pero si liberas el código con licencia GPL no.

Sobre lo de Qt más completo, hablaba de oídas, exactamente lo que dice esta cita de barrapunto:
djworld escribió:qt != librería gráfica de KDE, qt es un toolkit que no sólo tiene clases para crear aplicaciones gráficas sino que también tiene clases para muchas más cosas, como manejo de ficheros, conexión a base de datos, un parser XML, gestión de threads y muchas cosas más. Es uno de los motivos por los que QT no se puede comparar con GTK, ya que GTK sí que es sólo una librería gráfica, y los programas hechos con GTK normalmente necesitan otras librerías adicionales para poder disponer de estos servicios.


Mi proyecto no es un proyecto realmente, era una práctica de la facultad que me pedían que la hiciera en MFC y como las anteriores las había hecho en Linux y no quería cambiar el código le pedí al profesor que me dejara hacerlas en Qt.

Un saludo.
No hay ningún problema con que tu programa genere dinero, siempre que siga siendo GPL. No hay vuelta de oja. Puedes venderlo, cobrar por servicios, etc. Todo lo que permite la GPL.

http://www.trolltech.com/download/opensource.html


Debe ser la tercera o cuarta vez que lo comento :P
Yo recomiendo GTK, la verdad :P, el tuto de GTK oficial es muy completo y con GLADE, haces la GUI como te han dicho, generas un XML que puedes cargar con casi cualquier lenguaje y lo demás está tirao :)

Un saludo.
No se supone que GTK+ esta bajo la LGPL y seria por tanto menos libre que QT?
Yo tambien me voy a poner con QT dentro de poco, mas que nada porque uso KDE, me recomendais QT Designer o KDevelop para diseñar mis interfaces?
Txukie escribió:No se supone que GTK+ esta bajo la LGPL y seria por tanto menos libre que QT?
Yo tambien me voy a poner con QT dentro de poco, mas que nada porque uso KDE, me recomendais QT Designer o KDevelop para diseñar mis interfaces?


Kdevelop usa QT Designer (al menos el que tengo yo).

Un saludo.
Gilipolleces... GTK# :).

No, en serio, es típico tema que nos podemos pasar horas y horas aquí hablando, pero es difícil que lleguemos a un acuerdo. Para gustos los colores. Personalmente prefiero GTK, pero supongo que más por manías propias que por otra cosa.

Una preguntilla sobre que Qt tiene parser de XML, manejo de threads y demás... ¿eso no se supone que lo aporta el lenguaje?

¡Salu2!
Churly escribió:No hay ningún problema con que tu programa genere dinero, siempre que siga siendo GPL. No hay vuelta de oja. Puedes venderlo, cobrar por servicios, etc. Todo lo que permite la GPL.

http://www.trolltech.com/download/opensource.html


Debe ser la tercera o cuarta vez que lo comento :P



licencia QT escribió:- Make the complete source code of your program available to all end users
- Allow all users to re-use, modify and re-distribute the code
- Give up your right to demand compensation for re-use and re-distribution
- Add a notice to your program that it is GPL licensed when it runs


la negrita es la clausula magica, NO PUEDES PEDIR COMPENSACION (economica, se entiende) por el uso o la distribucion, aparte de todo lo que la GPL te obliga...

licencia QT escribió:I am still unsure. Which license should I use?

If you are unsure of what license you need, then follow this simple rule of thumb: If you're Open Source, Qt is Open Source. If you're commercial, Qt is commercial


Si no se esta seguro de que licencia usar, sigue esta regla: si eres open source, QT es open source. Si eres Comercial (pretendes ganar dinero con esto), QT es comercial...

yo sigo leyendo lo que te dije...
f5inet escribió:

la negrita es la clausula magica, NO PUEDES PEDIR COMPENSACION (economica, se entiende) por el uso o la distribucion, aparte de todo lo que la GPL te obliga...



Nop, no pone eso, pone que no puedes pedir compensación en caso de que alguien quiera reusar o redistribuir tu código.

Parece que puedes cobrar sin pagar, pero a ver que empresa está dispuesta a pagarte por una aplicación que vas a tener que distribuir, junto a su código fuente, de forma libre ...
Maxtorete escribió:Parece que puedes cobrar sin pagar, pero a ver que empresa está dispuesta a pagarte por una aplicación que vas a tener que distribuir, junto a su código fuente, de forma libre...

Si alguien quiere crear una distro y poner tu programa (como reclamo, por ejemplo), puedes pedir una compensación económica. Si alguien quiere utilizar tu programa para modificarlo y añadirle algo... puedes pedir una compensación económica...

Si tu eres programador, y te pagan por programar (tiempo que destinas a...), puedes licenciar el programa bajo GPL y todo son ventajas: tu no pagas a Trolltech por haber ganado dinero programando con sus librerías, y la empresa o quien te pague se beneficia de todo lo que conlleva la filosofía del OpenSource/Software Libre.

Saludos.

GTK+ sigue siendo mi apuesta.
Bueno, nuevo día [risita]

Ayer me fui al sobre después de mirarme por encima el librito de gtk+ que me pillé... y bueno, después de un rato un poco aturdido parece ke no es exageradamente dificil.. ( miré el tema de las retrollamadas, glib...).

Pero no sé, me da la total sensación de que quedará una aplicación horrorosa en cuanto al "eye candy" xD

A ver si consigo algún buen librejo sobre glade ( el coleguita ke lo tiene está de examenes ;-) ) que ayer me puse un poco y no conseguí meter en la misma ventana dos widgets [ayay] , se acepta sugerencias sobre algún tuto online imprimible bueno..

Ruro escribió:MFC is Devil.


Eso se lo dices al señor librero que tanto te gusta, osea Mr. Ceballos, sólo le mola impartir cosejas de microchof.... pero bueno, como las asignaturas de libre elección no son pagables según creo, se le perdona :-P

Ruro escribió:Multiplataforma absoluta y ligereza: wxWidgets.

No es el caso, la empresa viene huyendo de windows por su gran estabilidad/escalabilidad [666] .

Ferdy escribió:¿En qué veis Qt más completo que GTK+?

Yo lo decía por las clases de red, open-gl y demás pesca que ví en su web que tenía.. ni idea si también lo encapsula gtk+ (sería bueno saberlo)...

Cobo escribió:No, en serio, es típico tema que nos podemos pasar horas y horas aquí hablando, pero es difícil que lleguemos a un acuerdo. Para gustos los colores. Personalmente prefiero GTK, pero supongo que más por manías propias que por otra cosa.
Una preguntilla sobre que Qt tiene parser de XML, manejo de threads y demás... ¿eso no se supone que lo aporta el lenguaje?


Hombre, no se está haciendo una comparación generica de qt vs gtk, se está haciendo una comparación de éstas con las premisas que yo he impuesto: "Eye candy, robustez y tiempo de desarrollo/aprendizaje" de ahí que dijera le no kería iniciar el típico flame gtk vs qt ...

Y creo que ya está, gracias a los que habeis contestado y salu2 a los ke contesten :)

Edit:
Ruro escribió:Si tu eres programador, y te pagan por programar (tiempo
que destinas a...), puedes licenciar el programa bajo GPL y todo son ventajas: tu no pagas a Trolltech por haber ganado dinero programando con sus librerías, y la empresa o quien te pague se beneficia de todo lo que conlleva la filosofía del OpenSource/Software Libre.
GTK+ sigue siendo mi apuesta.


Si la empresa tiene muchos problemas con el espionaje industrial (como suele suceder en todos los charcos donde me meto) hablarles de liberar el software suele caer en saco muy roto XD, pero por lo menos, aprenderé a hacer guis con Linux si lo saco adelante y podré hacer mis programitas GPL X-D
la GPL SOLO te obliga a dar el fuente a quien le das el binario. lo que esa persona haga con el fuente, es cosa suya.

es mas, yo opino que TODAS las empresas deberian pedir que sus trabajos fueran GPL, para mantener independencia dle proveedor.

si yo soy una empresa, y te pido a ti un trabajo GPL, tu deber como programador, y tu obligacion segun la GPL, es darme el trabajo terminado A MI, Y SOLO A MI, y tanto BINARIOS COMO CODIGO FUENTE (que para eso te pago por el trabajo). a eso te obliga la GPL. punto pelota. a quien das el binario, debes acompañar el fuente.

si tu das el codigo fuente a otra persona que no sea yo, que soy el que te pago, te denuncio por 'filtracion de informacion clave para el desarrollo del negocio'. dicho de otra forma, estas regalando un trabajo por el cual yo te estoy pagando, y no te he dado ninguna autorizacion para que lo hagas.

por favor, leeros un poco mas las licencias. Open Source NO quiere decir GPL, aunque coincidan en muchas cosas...

QT te obliga a liberar todo trabajo basado en él que no sea comercial. si quieres mantener una licencia de 'mantener el source secreto' entre unas pocas personas, debes pagar la licencia de QT. la unica forma de usar QT 'gratis' es liberando el fuente a todo aquel que lo desee, tenga el binario o no... eso es OPEN SOURCE en su sentido mas estricto, y es la unica forma 'gratis' de usar QT.

ojo, no estoy diciendo que GTK sea 'mejor', sino que la licencia de GTK es la que te permite hacerlo de forma gratuita lo que quieres hacer (o sea, mantener 'secuestrado' un codigo fuente entre tu, tu cliente, y nadie mas)
dykstra escribió:Hombre, no se está haciendo una comparación generica de qt vs gtk, se está haciendo una comparación de éstas con las premisas que yo he impuesto: "Eye candy, robustez y tiempo de desarrollo/aprendizaje" de ahí que dijera le no kería iniciar el típico flame gtk vs qt ...
Creo que te lo has tomado por donde no era. ¿Tanto te ha molestado que haga una preguntilla? Sencillamente no soy un experto en estos temas, y desconozco hasta donde llega exactamente Qt. No tenía intención de generar ningún flame, sólo quería saber si con GTK todo eso se aporta mediante el lenguaje de programación, y si Qt lo lleva "integrado".
No sé, no creo que sea para tanto... Ni me salgo mucho del título del hilo, ni creo generar ningún mal rollo con la pregunta.

¡Salu2!
Uses lo que uses, piensa siempre en KDE.
siempre que estemos hablando de ganar pasta con tu desarrollo:

KDE=QT=soltar pasta por la licencia.

si estamos hablando de desarrollar por amor al arte:

KDE=QT=Gratis
Cobo escribió: Creo que te lo has tomado por donde no era. ¿Tanto te ha molestado que haga una preguntilla? Sencillamente no soy un experto en estos temas, y desconozco hasta donde llega exactamente Qt. No tenía intención de generar ningún flame, sólo quería saber si con GTK todo eso se aporta mediante el lenguaje de programación, y si Qt lo lleva "integrado".
No sé, no creo que sea para tanto... Ni me salgo mucho del título del hilo, ni creo generar ningún mal rollo con la pregunta.

¡Salu2!


:-? si no me he picao contigo tíu, simplemente es que no me apetecía meter otro quote a ruro diciendo lo mismo y para que quede claro a la gente que se empiece a leer el hilo a medias X-D

Ké delicaos somos [oki]

Y gracias por contestar

Pd: Si lo que yo pregunto no kiero ke tenga ke ver con las licencias.. si por ejemplo saco la conclusión de que las qt son más robustas, me interesa usar Qt, 2000/3000 euros puede ser mejor ke perder entre 15-20 kilos por cada vez que pete el programa.


Salu222222222
f5inet no se donde lees eso. Puedes ver discusiones en barrapunto y aclaraciones a patadas. Eso pasaba con la licencia QPL que tenía antes.

Desde hace mucho tiempo es GPL v2 completamente. Y la GPL no obliga a distribuir el programa en ningún momento a todo el mundo, sólo a quien le des el binario, punto pelota. Y lo dice bien claro en la página que enlacé anteriormente:


Trolltech's Open Source versions are available under the terms of the GPL - General Public License. The main obligation for software development under the GPL is that anyone using your software must have access to complete source code, and must be able to modify and redistribute that software to anyone free of charge.


Recuerda que tu puedes liberar tu programa como GPL, y no darselo absolútamente a nadie. Nadie te obliga a soltarlo, sólamente a que si lo sueltas, lo acompañes con el código fuente.

Por supuesto, si tu vendes el programa a tu cliente, incluidos los fuentes, tu cliente tiene libertad para modificarlo y redistribuirlo a su antojo. Él te ha pagado por programarlo, no por su uso.
dykstra escribió:A ver si consigo algún buen librejo sobre glade ( el coleguita ke lo tiene está de examenes ;-) ) que ayer me puse un poco y no conseguí meter en la misma ventana dos widgets [ayay] , se acepta sugerencias sobre algún tuto online imprimible bueno..


Es que no se puede poner más de un widget en una ventana (ni con glade ni sin él), la solución es empaquetar los widgets en cajas o utilizar tablas. Aunque parezca un tanto rebuscado al principio (meter cajas con widgets dentro de otras) al final te acostumbras a ello.

Sobre tutos online el mejor que yo sepa es el oficial de gtk http://www.gtk.org/tutorial/, de hecho, varios tutos de Gtk para otros lenguajes (por ejemplo Perl) están basados en ese mismo.

Saludos
dykstra escribió:
:-? si no me he picao contigo tíu, simplemente es que no me apetecía meter otro quote a ruro diciendo lo mismo y para que quede claro a la gente que se empiece a leer el hilo a medias X-D

Ké delicaos somos [oki]

Y gracias por contestar

Pd: Si lo que yo pregunto no kiero ke tenga ke ver con las licencias.. si por ejemplo saco la conclusión de que las qt son más robustas, me interesa usar Qt, 2000/3000 euros puede ser mejor ke perder entre 15-20 kilos por cada vez que pete el programa.


Salu222222222
Sorry entonces tío, entendí mal yo. Y sí, ando mu sensible parece... [buuuaaaa].

A ver si algún Qtero me puede responder a mi dudilla.

¡Salu2!
quelcom escribió:Es que no se puede poner más de un widget en una ventana (ni con glade ni sin él), la solución es empaquetar los widgets en cajas o utilizar tablas. Aunque parezca un tanto rebuscado al principio (meter cajas con widgets dentro de otras) al final te acostumbras a ello.
De hecho en java también se hace así... has de meter las cosas dentro de contenedores, que a su vez pueden estar divididos por áreas (norte, sur...) o por bloques... Si pones algo "a saco" no puedes poner más cosas, a no ser que definas el frame principal como un contenedor (cosa que se hace casi siempre).

Saludos.
quelcom escribió:
Es que no se puede poner más de un widget en una ventana (ni con glade ni sin él), la solución es empaquetar los widgets en cajas o utilizar tablas. Aunque parezca un tanto rebuscado al principio (meter cajas con widgets dentro de otras) al final te acostumbras a ello.

Sobre tutos online el mejor que yo sepa es el oficial de gtk http://www.gtk.org/tutorial/, de hecho, varios tutos de Gtk para otros lenguajes (por ejemplo Perl) están basados en ese mismo.

Saludos


Imprimido :-p , de momento tiro con un miniproyecto de ejemplo ke vi para glade este tuto y el libro "Desarrollo de aplicaciones Linux con Gtk+ y GDK" de la editorial Prentice Hall.

Ya me leí lo de los contenedores (de hecho lo había leído cnd lo comenté, sería lo de leer en la cama :-p ) y he probado con glade y parece sencillo, sencillo [inlove], pero claro, me surjen millones de chorradillas que debo conseguir (lo de siempre: saber maximizar una ventana, recolocar las cosas cuando se redimensione la ventana, etc.. [toctoc] ) vamos que me tengo ke poner a leer más :-p . ¿ Alguien sabe si existen algunos foros dedicados a estos temas?, aparte de las mailing lists de glade y gtk...

Es curioso, no he necesitado instalar nada para tener una ventanita ejecutandose en las X's (lo ke dice mucho de mi limpieza, teniendo glade y demás parafernalia sin usar :-p ) ,para que luego digan k es dificil Linux X-D

Cobol escribió:Sorry entonces tío, entendí mal yo. Y sí, ando mu sensible parece... .

A ver si algún Qtero me puede responder a mi dudilla.

¡Salu2!


Umm pubrito, ke tá sensible.
Yo no soy ningún experto en Qt, pero está claro que C++ proporciona manejo de hilos con Linux... supongo que los de Qt habrán encapsulado las bondades ya implementadas por Linux por el tema de portabilidad y todo eso...

Un saludo
27 respuestas