2009-11-22 10 views
8

Soy un desarrollador web que está tratando de hacerme las paces con la codificación de una pequeña aplicación de escritorio para Ubuntu en Python. Recorrí la web en busca de los pros y los contras de PyGTK frente a PyQT y realmente no puedo encontrar ninguna buena comparación.¿Se prefieren PyGTK o PyQT para hacer aplicaciones de Python nativas de GTK?

¿Qué piensan? ¿Ambos producen widgets de aspecto nativo en un sistema GNOME? ¿Es uno más fácil de usar que el otro? Cualquier opinión sería agradable.

Disculpa las preguntas subjetivas.

Respuesta

11

He escrito aplicaciones bastante grandes tanto en PyGTK como en PyQt. En resumen, mi opinión personal es que PyQt es superior, pero no tanto por lo que valga la pena preocuparse. Si solo te preocupa apoyar a Ubuntu, entonces usa PyGTK; le dará una mejor apariencia y sensación. Si cree que puede portar esta aplicación a otras plataformas, use PyQt; PyQt es de lejos la mejor solución de plataforma cruzada.

5
  1. La aplicación PyGTK se verá más nativa en un sistema Gnome. La aplicación PyQt se verá más nativa en un sistema KDE.
  2. Como he encontrado, PyGTK tiene mejor documentación que PyQt.
  3. Tomará el mismo tiempo para escribir un programa en PyQt y PyGTK.
+0

¿No tiene preferencia por el código/sintaxis real de uno sobre el otro? –

+1

En ambos casos lo hará mediante el código python y la sintaxis python. :) – demas

1

En mi experiencia, habiendo hecho aplicaciones PyGTK y PyQT, hay poca diferencia en el lado de la programación subyacente. PyQT parece ser más consistente a través de los diferentes sabores de Linux, donde GTK está constantemente cambiando y rompiendo distribuciones más antiguas.

PyQT tiene QTCreator, que es un gran diseñador de GUI. PyGTK tiene Glade3, que está mejorando, pero no tanto. Hasta hace poco, Glade era una mala broma. Si necesita dibujar GUI en un editor, PyQT es probablemente la mejor opción. De lo contrario, iría con PyGTK para la codificación porque la documentación en línea PyGTK es excelente.

Una cosa extraña que he encontrado es que PyQT tiene poca compatibilidad con las devoluciones de llamadas de elementos de menú dinámicos. Tal vez simplemente no lo uso bien, pero PyGTK es un poco más flexible en comparación.

Es una elección difícil, de verdad. Pero si diseñas tu aplicación correctamente, la interfaz debería ser irrelevante; podría diseñar su aplicación con múltiples interfaces ...

1

En mi opinión, use PYQT como definitivamente superior por algunas razones. No hay preocupaciones con pixmaps alguna vez, solo hay una biblioteca codificada en el mismo estilo y convenciones. En pygtk necesitas aprender hasta 4 bibliotecas codificadas en un estilo diferente. También debe aprender las constantes GLIB al menos si no son nombres de variables GLIB aunque sean un intercambio 1 a 1 completo con el tipo de stdlib C en sí, pero ¿por qué usar tipos estándar que todos los demás usan cuando el maestro de su kit de herramientas puede usarlo? bastante inútiles tipos de propósito especial que luego pueden ser forzados a todos los demás. Los desarrolladores de Gnome necesitan un despertar serio.

Ir con PYQT es muy fácil de usar y no hará que busque constantemente documentación para descubrir por qué no puede usar el código estándar.

+0

¿Nombres de variable? ¿Te refieres a nombres tipo como 'gint'? En realidad, no tienes que usar esos. – ptomato

Cuestiones relacionadas