PyGTK è ancora rilevante?


11

Sono nuovo di Linux ma non dello sviluppo di app. Vengo da un RealBasic su uno sfondo Mac.

Ho accettato che ho bisogno di imparare una nuova lingua da sviluppare per Linux (dal momento che RB non funzionerà su distro a 64 bit ed è un linguaggio proprietario riservato), ma voglio assicurarmi di scegliere quella giusta.

Ho guardato Python ed ero pronto ad andare fino a quando ho letto che PyGTK sta diventando obsoleto con l'introduzione di GTK 3. È vero? Il sito Web degli sviluppatori Ubuntu sembra raccomandarlo con Glade per l'interfaccia utente, ma voglio assicurarmi di non imparare qualcosa che sta uscendo!


poiché vuoi imparare qualcosa di nuovo, puoi dare un'occhiata a wxPython e Pyside. Suggerisco wxPython in quanto avrà un vantaggio se si passa a C ++ un giorno il porting su wxWidgets è un gioco da ragazzi. Pyside è una cosa Python-for-QT ma non ne ho alcuna esperienza! Solo un consiglio
Stefano Mtangoo,

Risposte:


9

La risposta breve è no.

PyGTK viene gradualmente eliminato e sostituito con PyGObject mentre il widget imposta aggiornamenti da GTK + 2 a GTK + 3. A partire da Oneiric tutte le applicazioni Ubuntu "native" vengono eseguite utilizzando il set GTK + 3 .

Da un punto di vista personale, abbastanza recentemente ho iniziato a sviluppare un'applicazione in Python, e dopo averlo esaminato ho deciso di usare Python3 con PySide (che è Qt4 invece di GTK + 3) perché ho scoperto che Python 3 sarebbe lo standard dell'anno o così mi ci è voluto per scrivere il programma, e poiché Qt4 ha una documentazione molto buona e alcuni software di sviluppo di prima classe (basta avere una traccia di Qt 4 Designer ...)


5
Suggerimento: esiste GTK + varietà di Qt Designer e si chiama glade.
aquaherd,

Trovo che sia molto difficile capire che provengono da un REALbasicambiente di sviluppo protetto. Tutto quello che voglio essere in grado di fare è creare un'app la cui GUI sembra 'nativa' o conforme al tema su una versione moderna di Ubuntu o Mint. Voglio anche davvero essere in grado di progettare la GUI in un editor (WYSIWYG) e collegarlo con il codice Python. Date queste informazioni extra - in quale direzione pensi che dovrei andare? Esiste un equivalente QT di Glade?? (anche @aquaherd)
Nootrino il

1
L'equivalente Qt di Glade è Qt4 Designer. In Python in genere costruisci l'interfaccia e quindi la carichi come classe. Per le applicazioni semplici puoi effettivamente elaborare tutto nel tuo codice, ma per le GUI più complesse è più facile usare un programma come Qt Designer che genererà il codice per te. Quindi tutto ciò che devi scrivere è il codice che collega gli eventi della GUI alle tue funzioni.
thomasmichaelwallace,

1
Su una nota specifica di Qt: PySide e PyQt sono entrambe librerie molto simili per collegare Python a un'interfaccia Qt. La principale differenza tra loro è la licenza (ad esempio Pyqt non consente di rilasciare il codice con la licenza LGPL) e lo spazio dei nomi (ad esempio importare PySide o importare PyQt). Sto sottolineando che PyQt ha molti più tutorial e screencast che probabilmente ti aiuteranno sulla tua strada, ma PySide è più preferibile in quanto ha un PPA, una licenza meno restrittiva ed è ufficialmente supportato.
thomasmichaelwallace,

2
Non posso dirti se dovresti diramare nel percorso GTK + o QT, dal momento che entrambi i kit di strumenti si adattano al conto, ma poiché hai chiesto che pygtk sia pertinente, ho pensato che tu fossi già impostato su GTK +. Se questo è ancora il caso e considerando lo sfondo REALbasic, dai un'occhiata a gambasquale è un IDE di base già GTK +. Principalmente, avendo in mente la multipiattaforma, vale la pena imparare C / C ++ e separare l'interfaccia utente dalla logica dell'applicazione e compilare il front-end con un toolkit nativo. Ad esempio, la trasmissione, un client bittorrent proveniente dalla piattaforma Mac, utilizza il quarzo su Mac e GTK + per il resto.
aquaherd,

0

PyGTK e pyGOBJECT non sono più il metodo raccomandato per lo sviluppo di app per Ubuntu. Il sito Web degli sviluppatori Ubuntu ora consiglia QML per le app Ubuntu.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.