Ist PyGTK noch relevant?

11

Ich bin neu in Linux, aber nicht in der App-Entwicklung. Ich komme von einem RealBasic auf einem Mac-Hintergrund.

Ich habe akzeptiert, dass ich eine neue Sprache lernen muss, um sie für Linux zu entwickeln (da RB nicht auf 64-Bit-Distributionen ausgeführt wird und eine getarnte proprietäre Sprache ist), aber ich möchte sicherstellen, dass ich die richtige auswähle.

Ich habe mir Python angesehen und war bereit zu gehen, bis ich las, dass PyGTK mit der Einführung von GTK 3 veraltet ist. Stimmt das? Die Standbilder der Ubuntu-Entwickler-Website scheinen es mit Glade für die Benutzeroberfläche zu empfehlen, aber ich möchte sicherstellen, dass ich nichts lerne, was auf dem Weg nach draußen ist!

Nootrino
quelle
Da Sie etwas Neues lernen möchten, können Sie sich wxPython und Pyside ansehen. Ich schlage vor, wxPython zu verwenden, da es von Vorteil ist, wenn Sie eines Tages zu C ++ wechseln. Die Portierung auf wxWidgets ist ein Kinderspiel. Pyside ist eine Python-for-QT-Sache, aber ich habe überhaupt keine Erfahrung damit! Nur ein Rat
Stefano Mtangoo

Antworten:

9

Die kurze Antwort lautet nein.

PyGTK wird auslaufen und durch PyGObject ersetzt, da das Widget-Set von GTK + 2 auf GTK + 3 aktualisiert wird. Ab Oneiric werden alle "nativen" Ubuntu-Anwendungen mit dem GTK + 3- Set ausgeführt.

Persönlich habe ich vor relativ kurzer Zeit begonnen, eine Anwendung in Python zu entwickeln, und nachdem ich mich damit befasst hatte, entschied ich mich, Python3 mit PySide (Qt4 anstelle von GTK + 3) zu verwenden, da ich feststellte, dass Python 3 der Standard im Jahr sein würde oder so brauchte ich, um das Programm zu schreiben, und weil Qt4 eine sehr gute Dokumentation und eine erstklassige Entwicklungssoftware hat (nur eine Spur von Qt 4 Designer ...)

thomasmichaelwallace
quelle
5
Tipp: Die GTK + -Variante des Qt-Designers existiert und heißt glade.
Aquaherd
Ich finde es sehr schwer zu verstehen, dass ich aus einer REALbasicgeschützten Entwicklungsumgebung komme . Ich möchte nur eine App erstellen können, deren GUI auf einer modernen Version von Ubuntu oder Mint "nativ" oder themenkonform aussieht. Ich möchte auch wirklich in der Lage sein, die GUI in einem Editor (WYSIWYG) zu entwerfen und mit Python-Code zu verknüpfen. Angesichts dieser zusätzlichen Informationen - in welche Richtung sollte ich Ihrer Meinung nach gehen? Gibt es ein QT-Äquivalent von Glade? (auch @aquaherd)
Nootrino
1
Das Qt-Äquivalent von Glade ist Qt4 Designer. In Python erstellen Sie normalerweise die Schnittstelle und laden sie dann als Klasse. Für einfache Anwendungen können Sie alles in Ihrem eigenen Code erstellen, für komplexere GUI ist es jedoch einfacher, ein Programm wie Qt Designer zu verwenden, das den Code für Sie generiert. Dann müssen Sie nur noch den Code schreiben, der die GUI-Ereignisse mit Ihren Funktionen verbindet.
Thomasmichaelwallace
1
Ein Hinweis speziell zu Qt: PySide und PyQt sind beide sehr ähnliche Bibliotheken, um Python mit einer Qt-Schnittstelle zu verknüpfen. Der Hauptunterschied zwischen ihnen besteht in der Lizenzierung (dh Pyqt erlaubt Ihnen nicht, Ihren Code unter der LGPL-Lizenz freizugeben) und dem Namespace (z. B. PySide importieren oder PyQt importieren). Ich mache darauf aufmerksam, da PyQt viel mehr Tutorials und Screencasts hat, die Ihnen wahrscheinlich auf Ihrem Weg helfen werden, aber PySide ist vorzuziehen, da es eine PPA, eine weniger restriktive Lizenz und offiziell unterstützt wird.
Thomasmichaelwallace
2
Ich kann Ihnen nicht sagen, ob Sie in die GTK + - oder QT-Route verzweigen sollten, da beide Toolkits der Rechnung entsprechen, aber da Sie nach der Relevanz von pygtk gefragt haben, habe ich angenommen, dass Sie bereits auf GTK + eingestellt waren. Wenn dies immer noch der Fall ist und der REALbasic-Hintergrund berücksichtigt wird, schauen Sie sich an, gambaswelche GTK + -bereite Basis-IDE vorhanden ist. In Anbetracht der plattformübergreifenden Ausrichtung lohnt es sich meistens, C / C ++ zu lernen, die Benutzeroberfläche von der Anwendungslogik zu trennen und das Front-End mit einem nativen Toolkit zu kompilieren. Beispielsweise verwendet Transmission, ein Bittorrent-Client, der von der Mac-Plattform stammt, Quarz für Mac und GTK + für den Rest.
Aquaherd
0

PyGTK und pyGOBJECT sind nicht mehr die empfohlene Methode zum Entwickeln von Apps für Ubuntu. Die Ubuntu-Entwickler-Website empfiehlt jetzt QML für die Ubuntu-Apps.

Tachyonen
quelle