¿PyGTK sigue siendo relevante?


11

Soy nuevo en Linux pero no en el desarrollo de aplicaciones. Vengo de un RealBasic en un fondo Mac.

He aceptado que necesito aprender un nuevo lenguaje para desarrollar para Linux (ya que RB no se ejecutará en distribuciones de 64 bits y es un lenguaje patentado) pero quiero asegurarme de elegir el correcto.

He estado mirando Python y estaba listo para funcionar hasta que leí que PyGTK se está volviendo obsoleto con la introducción de GTK 3. ¿Es esto cierto? ¡El sitio web para desarrolladores de Ubuntu todavía parece recomendarlo con Glade para la interfaz de usuario, pero quiero asegurarme de que no aprendo algo que está por salir!


Como quieres aprender algo nuevo, puedes echar un vistazo a wxPython y Pyside. Sugiero wxPython ya que tendrá ventaja si cambias a C ++ un día portar a wxWidgets es muy fácil. ¡Pyside es Python para QT, pero no tengo experiencia en absoluto! Solo un consejo
Stefano Mtangoo

Respuestas:


9

La respuesta corta es no.

PyGTK se está eliminando gradualmente y reemplazado con PyGObject a medida que el conjunto de widgets se actualiza de GTK + 2 a GTK + 3. A partir de Oneiric, todas las aplicaciones ubuntu 'nativas' se ejecutan usando el conjunto GTK + 3 .

En una nota personal, hace poco comencé a desarrollar una aplicación en Python, y después de investigarlo decidí usar Python3 con PySide (que es Qt4 en lugar de GTK + 3) porque descubrí que Python 3 sería el estándar en el año o eso me llevó a escribir el programa, y ​​porque Qt4 tiene una muy buena documentación y algún software de desarrollo de primera clase (solo tengo un rastro de Qt 4 Designer ...)


55
Consejo: La variedad GTK + del diseñador Qt existe y se llama glade.
aquaherd

Esto me resulta muy difícil de entender, ya que proviene de un REALbasicentorno de desarrollo protegido. Todo lo que quiero hacer es crear una aplicación cuya GUI se vea 'nativa' o que cumpla con el tema en una versión moderna de Ubuntu o Mint. También realmente quiero poder diseñar la GUI en un editor (WYSIWYG) y vincularlo con el código Python. Dada esta información adicional, ¿en qué dirección crees que debo dirigirme? ¿Hay un equivalente QT de Glade?? (también @aquaherd)
Nootrino

1
El equivalente Qt de Glade es Qt4 Designer. En Python, normalmente construye la interfaz y luego la carga como clase. Para aplicaciones simples, puede dibujarlo todo en su propio código, pero para GUI más complejas es más fácil usar un programa como Qt Designer que generará el código por usted. Entonces todo lo que necesita escribir es el código que conecta los eventos de la GUI con sus funciones.
thomasmichaelwallace

1
En una nota específica sobre Qt: PySide y PyQt son bibliotecas muy similares para vincular python a una interfaz Qt. La principal diferencia entre ellos es la licencia (es decir, Pyqt no le permite liberar su código bajo la licencia LGPL) y el espacio de nombres (por ejemplo, importar PySide o importar PyQt). Estoy haciendo este punto, ya que PyQt tiene muchos más tutoriales y screencasts que probablemente lo ayuden en su camino, pero PySide es más preferible ya que tiene un PPA, una licencia menos restrictiva y es oficialmente compatible.
thomasmichaelwallace

2
No puedo decirle si debe ramificarse en la ruta GTK + o QT, ya que ambos kits de herramientas se ajustan perfectamente, pero dado que preguntó si Pygtk es relevante, asumí que ya estaba configurado en GTK +. Si este sigue siendo el caso y considerando el fondo REALbasic, eche un vistazo a gambascuál es un IDE básico listo para GTK +. Principalmente, teniendo en cuenta la plataforma cruzada, vale la pena aprender C / C ++ y separar la interfaz de usuario de la lógica de la aplicación y compilar el front-end con un kit de herramientas nativo. Por ejemplo, la transmisión, un cliente bittorrent que proviene de la plataforma Mac, utiliza cuarzo en Mac y GTK + en el resto.
aquaherd

0

PyGTK y pyGOBJECT ya no son el método recomendado para desarrollar aplicaciones para Ubuntu. El sitio web para desarrolladores de Ubuntu ahora recomienda QML para las aplicaciones de Ubuntu.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.