Esiste una struttura standard per lo sviluppo di app GUI Python.?

20

Ci sono così tanti framework per scrivere applicazioni GUI usando Python. Ma esiste un quadro standard chiave? Ad esempio abbiamo un pacchetto di .NET / C # su Visual Studio.

Sto pensando anche in altre prospettive. In futuro, se concederò un'intervista per un lavoro di programmatore Python, quale struttura della GUI sarà considerata?

Mi chiedo anche, non ci sono IDE che integrano la GUI e il linguaggio Python. La scelta del gusto è buona ma la scelta eccessiva diventa una distrazione.

    
posta RPK 07.01.2011 - 21:50
fonte

5 risposte

12

Puoi scrivere app GUI API Win32 in Python, se ti piace scrivere tutto il codice boilerplate: progetto PyWin32

Personalmente, mi piace wxPython . È multipiattaforma (completamente supportata su Linux e Windows) ed è in circolazione da parecchio tempo ... base di supporto decente e molta documentazione / codice di esempio. Se vuoi usarlo, dai un'occhiata a BoaConstructor . Questo è l'IDE per wxPython (o forse meglio specificato, un IDE scritto in e per wxPython). È l'unico RAD IDE specificamente per Python che ho trovato che vale la pena menzionare, salva l'editor dell'interfaccia utente Qt (l'editor dell'interfaccia utente di Qt è utilizzabile sia per C ++ che per PyQT).

Come Peter ha menzionato nella sua risposta, Tk è la GUI de facto per le vecchie applicazioni Python, ma in realtà non sembrano così belle per l'utente finale. Ci sono alcune estensioni che lo rendono un po 'migliore e forniscono alcune capacità di stile dell'interfaccia utente, ma a meno che tu non stia mantenendo un'app vecchia GUI non ti suggerirei di dargli fastidio.

pyGTK, anche già menzionato, sarebbe un'altra buona scelta. Anch'esso è multipiattaforma, sebbene non abbia avuto alcuna esperienza personale con lo sviluppo di GTK su Windows. PyQT sarebbe una scelta migliore, IMO - Penso che la GUI creata con la libreria Qt sia l'aspetto che la funzione superiore a quelli realizzati con GTK. Trovo anche che il meccanismo di segnale / slot di Qt sia più semplice da utilizzare. YMMV.

Non esiste uno standard per lo sviluppo di GUI Python, almeno non quello che ho visto, ma dei miei colleghi sviluppatori Python con cui ho lavorato nel corso degli anni, mi hanno suggerito wxPython e PyQT più di ogni altro degli altri toolkit. Non sono sicuro che ci sia un numero sostanziale di posizioni di sviluppo della GUI Python là fuori, per essere onesti. La maggior parte dello sviluppo di Python che ho fatto nel corso degli anni è stato lato server, ma questo non vuol dire che non ci siano varie aziende che ora stanno cercando di utilizzare il percorso open source per le loro applicazioni GUI.

    
risposta data 07.01.2011 - 22:40
fonte
12

Tk era lo standard, ma è probabilmente semplicistico e brutto. Quindi Qt divenne molto popolare. Gtk è anche possibile e copre i preferiti su piattaforme Linux-ish.

Ma hai ragione, non c'è davvero nessuna risposta senza cervello. La sovra-scelta è piuttosto comune nel mondo dell'open source, dopotutto.

    
risposta data 07.01.2011 - 22:02
fonte
5

Non esiste uno "standard" e sono d'accordo: la pletora di scelte è un dolore. Per quanto riguarda l'IDE "bidirezionale" integrato per la GUI Python, mi chiedo anche perché non ci sia nessuno là fuori - forse perché ci sono così tanti toolkit della GUI che nessuno vuole investire in un IDE per uno solo loro.

Detto questo, PyQt 4.7 con P3k ti darà una GUI meravigliosa (oltre a molte altre potenti funzionalità). Vedi link - "Questa è la guida di riferimento per PyQt 4.8.4. v4 è un set di collegamenti Python per v4 del framework Qt di Nokia. "

PyQt è molto diffuso e ci sono dei buoni libri su questo: vedi link "Rapida programmazione della GUI con Python e Qt" tra gli altri (il libro è un po 'sorpassato - deve essere aggiornato per P3k) .

Ci sono 2 problemi seri con PyQt:

1) Ha alcune caratteristiche distintamente 'unpitoniche', essendo solo un sottile involucro sulle librerie Q ++ in C ++. Ma ho raccomandato P3k-PyQt 4.7 perché alcuni sono stati affrontati nei pacchetti "più recenti e migliori". Dai un'occhiata a questo post:

Problemi di progettazione PyQt

2) Per uso commerciale ci sono costi di licenza piuttosto elevati, sia per PyQt che per Qt.

Una vera e propria alternativa a PyQt è PySide di Nokia, un altro wrapper Python per Qt che è interamente open source (che però non include la licenza Qt).

Sapere molto di Qt non è una cosa negativa dal punto di vista del mercato, e lo si otterrà da PyQt, quindi darei seria considerazione a PySide se si sta tentando di decidere su una piattaforma GUI per diventare esperto in.

Indipendentemente da ciò che scegli, ti suggerisco di evitare il tkinter per la maggior parte, anche se è "out of the box" con Python, perché è estremamente limitato e IMO ha un aspetto e un aspetto vecchio e obsoleto.

HTH

    
risposta data 25.07.2011 - 02:54
fonte
3

pyGTK è prolifico. È piuttosto facile da usare e rende le GUI che non sembrano affatto male.

    
risposta data 07.01.2011 - 21:55
fonte
0

Gtk3 è un framework GUI molto maturo. Dispone di collegamenti Python nativi (GObject Introspection) e di un gran numero di documentazione . Se stai facendo un bel po 'di GUI, considera l'utilizzo di Anjuta . Anjuta ha un'interfaccia drag and drop per configurare facilmente i tuoi widget.

WxWidgets è piuttosto buono, tuttavia non esiste un modo semplice per generare dinamicamente le callback Python come fa Anjuta per Gtk.

PyGtk ora è deprecato in favore dei binding da Gtk3 a Python (GObject Introspection)

PyQt è anche un player nell'interfaccia grafica di Python, ma non ha una grande comunità.

Il BoaConstructor è mantenuto più a lungo e sarebbe sciocco da usare.

    
risposta data 16.12.2016 - 00:17
fonte

Leggi altre domande sui tag