Czy PyGTK jest nadal aktualne?

11

Jestem nowy w Linuksie, ale nie w rozwoju aplikacji. Pochodzę z RealBasic na tle Mac.

Zaakceptowałem fakt, że muszę nauczyć się nowego języka dla Linuksa (ponieważ RB nie będzie działał na 64-bitowych dystrybucjach i jest zastrzeżonym językiem zastrzeżonym), ale chcę się upewnić, że wybrałem odpowiedni.

Patrzyłem na Pythona i wszystko było gotowe, dopóki nie przeczytam, że PyGTK staje się przestarzały wraz z wprowadzeniem GTK 3. Czy to prawda? Witryna deweloperów Ubuntu wydaje się nadal polecać ją wraz z Glade dla interfejsu użytkownika, ale chcę się upewnić, że nie nauczę się czegoś, co jest możliwe!

Nootrino
źródło
skoro chcesz nauczyć się czegoś nowego, możesz rzucić okiem na wxPython i Pyside. Sugeruję wxPython, ponieważ będzie to miało zaletę, jeśli przejście do C ++ pewnego dnia przeniesienie do wxWidgets jest proste. Pyside to kwestia Python-for-QT, ale nie mam z tym żadnego doświadczenia! Tylko rada
Stefano Mtangoo,

Odpowiedzi:

9

Krótka odpowiedź brzmi: nie.

PyGTK jest wycofywany i zastępowany przez PyGObject, gdy zestaw widżetów jest aktualizowany z GTK + 2 do GTK + 3. Począwszy od Oneiric, wszystkie „natywne” aplikacje ubuntu działają przy użyciu zestawu GTK + 3 .

Osobiście, całkiem niedawno zacząłem tworzyć aplikację w Pythonie i po przyjrzeniu się temu zdecydowałem się na użycie Python3 z PySide (czyli Qt4 zamiast GTK + 3), ponieważ odkryłem, że Python 3 będzie standardem w tym roku a przynajmniej zajęło mi napisanie programu, a ponieważ Qt4 ma bardzo dobrą dokumentację i niektóre pierwszorzędne oprogramowanie programistyczne (po prostu mam ślad Qt 4 Designer ...)

thomasmichaelwallace
źródło
5
Wskazówka: Odmiany GTK + projektanta Qt istnieją i są nazywane glade.
aquaherd
Bardzo trudno mi zrozumieć, że pochodzą z REALbasicchronionego środowiska programistycznego. Chcę tylko stworzyć aplikację, której GUI wygląda na „natywną” lub zgodną z motywami w nowoczesnej wersji Ubuntu lub Mint. Naprawdę chcę też móc zaprojektować GUI w edytorze (WYSIWYG) i połączyć go z kodem Python. Biorąc pod uwagę te dodatkowe informacje - jak myślisz, w jakim kierunku powinienem iść? Czy istnieje odpowiednik QT Glade? (też @aquaherd)
Nootrino,
1
Odpowiednikiem Glade Qt jest Qt4 Designer. W Pythonie zwykle konstruujesz interfejs, a następnie ładujesz go jako klasę. W przypadku prostych aplikacji możesz to wszystko narysować we własnym kodzie, ale w przypadku bardziej złożonych GUI łatwiej jest użyć programu takiego jak Qt Designer, który wygeneruje kod za ciebie. Następnie wystarczy napisać kod łączący zdarzenia GUI z funkcjami.
thomasmichaelwallace,
1
W notatce dotyczącej Qt: PySide i PyQt są bardzo podobnymi bibliotekami do łączenia Pythona z interfejsem Qt. Główną różnicą między nimi jest licencjonowanie (tzn. Pyqt nie pozwala na wydanie kodu na licencji LGPL) i przestrzeń nazw (np. Import PySide lub import PyQt). Mówię o tym, ponieważ PyQt ma o wiele więcej samouczków i screencastów, które prawdopodobnie pomogą ci w drodze, ale PySide jest bardziej preferowany, ponieważ ma PPA, mniej restrykcyjną licencję i jest oficjalnie obsługiwany.
thomasmichaelwallace
2
Nie mogę ci powiedzieć, czy powinieneś rozgałęzić się na trasę GTK + czy QT, ponieważ oba zestawy narzędzi pasują do rachunku, ale ponieważ pytałeś o znaczenie pygtk, założyłem, że już ustawiłeś GTK +. Jeśli nadal tak jest i biorąc pod uwagę tło REALbasic, spójrz na gambasto, które jest już gotowym GTK + Basic IDE. Przeważnie, mając na uwadze wiele platform, opłaca się uczyć się C / C ++ i oddzielić interfejs użytkownika od logiki aplikacji i skompilować interfejs z natywnym zestawem narzędzi. Np. Transmisja, bittorrentowy klient pochodzący z platformy Mac, wykorzystuje kwarc na Macu i GTK + na pozostałych.
aquaherd,
0

PyGTK i pyGOBJECT nie są już zalecaną metodą tworzenia aplikacji dla Ubuntu. Witryna programistów Ubuntu zaleca teraz QML dla aplikacji Ubuntu.

Tachyony
źródło