linux - qtcurve - ¿Qué debería elegir: GTK+o Qt?



uniform look gtk qt (6)

¿Puede alguien sugerir cuáles son los mejores usos para esas bibliotecas hoy? ¿Es solo GUI, o tienen soporte para bases de datos, XML, redes, hilos, etc.?

Estaba leyendo sobre ellos y consideré comenzar a aprender / usar uno de ellos.

¿Cuál es el más común? ¿Cual es la diferencia entre ellos? ¿Por qué elegirías uno sobre el otro?

https://code.i-harness.com


Como parece que se dirige principalmente a Linux, la elección depende principalmente del lenguaje de programación que desee utilizar.

Si codifica en C, entonces obviamente vaya por GTK +

Si codifica en C ++, vaya a Qt; de lo contrario, necesitará Gtkmm (un contenedor de C ++ sobre GTK +)

Si codifica en Python, tanto GTK + como Qt tienen enlaces para el lenguaje: vea PyGtk , PyQt y PySide (el lanzado por Nokia).

Si codifica en Java, Qt ya no es una opción viable ya que Nokia suspendió Qt Jambi (las vinculaciones de Java para Qt).

Además, Qt es más de primera categoría en cuanto a su scenegraph QGraphicsScene API, su motor de scripting construido sobre Javascript Core (el motor que impulsa WebKit), su máquina de estado y marco de animaciones, y la interfaz de usuario declarativa .

GTK + no ofrece mucho, aunque puedes usar Clutter junto con él.

Si está buscando específicamente las funciones DB, XML (GTK + tiene un analizador sintáctico para un subconjunto de XML) y de subprocesamiento (GTK + tiene GLib ), entonces Qt ofrecerá todo eso en QtSql , QtXml y QtConcurrent .

Con todo, diría que Qt es una elección segura. Pero GTK + también es muy capaz.

No estoy seguro de que obtenga una respuesta clara para su pregunta, lo que explica por qué algunas personas siguen prefiriendo Gnome a KDE o viceversa. Elija lo que funciona mejor para usted.

PD: planeo apuntar a Symbian, luego ir a Qt.

EDITAR: Algo que también es genial con Qt es QtWebKit: trae WebKit en su aplicación Qt. Otros están integrando WebKit en su aplicación utilizando, por ejemplo, Awesomium o Berkelium.


He usado GTK +, QT y wxWidgets antes. Aquí hay un breve resumen:

Para mi primer proyecto de UI multiplataforma decidí optar por wxWidgets principalmente porque en ese momento la licencia no era tan restrictiva como QT (QT era GPL y solo para Linux) y tenía una interfaz de usuario específica de la plataforma (a diferencia de GTK). El proyecto funcionó bien, pero hubo bastantes problemas para compilarlo y ejecutarlo correctamente en otras plataformas: a veces algunos eventos se activaban de forma diferente y tal. También GDI en wxWidgets fue bastante lento.

Luego utilicé GTK para un proyecto diferente en Python. Para esto utilicé las ataduras de pitón y todo funcionó más o menos suavemente. No me gustó el hecho de que la interfaz de usuario no pareciera nativa en Windows y Mac, y también cuando se ejecuta una aplicación GTK + siempre se depuran cargas de advertencias CRÍTICAS que parecen bien ignorar. : S

Finalmente, hice un proyecto de QT muy simple ahora que Nokia lo adquirió y fue brillante. Lo mejor de los tres. En primer lugar, si no eres un antiguo alumno que prefiere VI o Emacs, QtCreator es brillante. Realmente me encanta VI y lo utilicé durante años, pero prefiero mucho QtCreator para proyectos C ++ QT. En cuanto a la biblioteca, también me gustó mucho la documentación y las API proporcionadas. QT tiene un concepto de slots y señales que introducen nuevas palabras clave de C ++ y un preprocesador. Básicamente, después de leer un tutorial lo obtendrá fácilmente y comenzará a encantarlo. Ahora estoy haciendo el desarrollo de iPhone y se siente un poco como el paradigma de IU de Cocoa / Interface Builder.

Resumen: iría por QT sin problemas. La licencia es bastante buena y el SDK y la documentación son realmente buenos.


Probablemente depende de lo que quieras hacer. Recomendaría Qt, porque es más que GUI, tiene bonitos enlaces de Python (también lo hace Gtk), y las propias bibliotecas de GUI son (subjetivamente hablando) más agradables que Gtk.

Gtk es, por otro lado, más común en el mundo de Linux, por lo que probablemente pueda obtener más ayuda en la web. La razón de la generalización de Gtk probablemente tiene más que ver con Gnome y Ubuntu, que con los méritos técnicos, pero si quieres que tu software se mezcle bien con esos dos, lo lograrás más fácilmente con Gtk.


Qt, por supuesto, tiene una sólida base de datos, red, soporte de subprocesos, etc ... Hace mucho más que solo GUI multiplataforma (y lo hace bastante bien).

Lo recomendaría sobre GTK +.


Si desea que su aplicación se ejecute en iOS, Android, Blackberry, otras plataformas móviles, Windows, Mac OSX y Linux, use Qt.

qt-project.org


Simplemente agregando las ventajas de QT a otras respuestas ... QT tiene una gran documentación, su propio creador de IDE y GUI y mejora C ++ con algunos conceptos nuevos, como tragamonedas / señales (básicamente, eventos).

No soy un desarrollador GTK, así que no puedo compararlos con el mundo GTK :(





gtk