Esistono diverse librerie grafiche per Python che ci permettono di realizzare applicativi dotati di un’interfaccia grafica accattivante, pur mantenendo le caratteristiche di portabilità sulle diverse piattaforme. Nel seguente articolo analizzeremo la libreria PyQt, in particolare, la versione PyQt5.
Cos’è PyQt5?
PyQt5 è un set di collegamenti Python per la v5 (versione n°5) del framework Qt di The Qt Company.
E’ stato sviluppato da Riverbank Computing Limited e realizzato utilizzando il generatore di binding SIP.
Qt è un set di librerie C ++ e strumenti di sviluppo che include astrazioni per interfacce grafiche utente, reti, servizi di posizionamento e localizzazione, database SQL, SVG, OpenGL, XML, animazione 3D, comunicazioni a corto raggio (NFC e Bluetooth), grafici e molto altro.
PyQt5 implementa oltre 1000 di queste classi come un set di moduli Python.

PyQt5 supporta le piattaforme Windows, Linux, UNIX, Android, macOS e iOS.
Python è un linguaggio semplice ma potente. La sua semplicità facilita l’apprendimento, ma la sua potenza consente di creare applicazioni grandi e complesse.
PyQt combina tutti i vantaggi di Qt e Python.
Un programmatore ha tutta la potenza di Qt, ma è in grado di sfruttarlo con la semplicità di Python.
Licenza

PyQt5 è rilasciato sotto licenza GPL v3 e sotto licenza commerciale (Riverbank Commercial License),
che consente lo sviluppo di applicazioni proprietarie.
PyQt non include una copia di Qt. È dunque necessario ottenere una copia correttamente autorizzata di Qt.
La tua licenza PyQt5 deve essere compatibile con la tua licenza Qt.
PyQt5, a differenza di Qt, non è disponibile sotto la LGPL.
Puoi acquistare una licenza commerciale PyQt5 cliccando qui.
Per maggiori informazioni a riguardo: Licenza Commerciale Riverbank.
GLP (General Public License) e LGPL (Lesser General Public License) sono entrambe licenze per software pubblico, con una differenza sostanziale.
– La GPL non può dare luogo a codice o pacchetti distribuiti solo con altre licenze.
– Con l’LGPL, invece, il software principale può essere rilasciato sotto qualsiasi licenza (anche proprietaria).
Quest’ultima è principalmente utilizzata per le librerie software.
Tuttavia, vengono fornite “binary wheels ” della versione GPL di PyQt5 e queste includono una copia delle parti appropriate della versione LGPL di Qt.
Wheels è il formato standard per il packaging Python (ovvero la distribuzione e l’installazione di pacchetti Python)
per moduli di estensione Python o binari come PyQt5.
Componenti:

- circa 50 moduli di estensione Python: lista dei moduli;
- plugin che consentono l’estensione di Qt Designer e qmlscene usando il codice Python: ne parleremo nei prossimi articoli;
- una serie di programmi di utilità: pyuic5, pyrcc5 e pylupdate5, che tratteremo in seguito;
- contiene i file .sip utilizzati da SIP per generare PyQt5 stesso. Questi possono essere usati dagli sviluppatori di bindings per altre librerie basate su Qt;
- include inoltre un gran numero di esempi in C ++, forniti con Qt. Possono essere trovati nella directory examples.
I principali moduli Python
I circa 50 moduli Python messi a disposizione da PyQt5, contengono oltre 1000 classi.
Di seguito riassumeremo i principali moduli – con le relative funzionalità – per iniziare a sviluppare le prime interfacce:
- QtCore, contiene le classi principali di PyQt e astrazioni per animazioni, macchine a stati, thread, files, memoria condivisa, espressioni regolari e impostazioni utente/applicazione.
Eccone la documentazione: Documentazione QtCore.
- QtGui, fornisce un insieme di classi per la gestione delle finestre, immagini, font e testi.
Di seguito, la documentazione completa: Documentazione QtGui.
- QtWidgets, contiene una vasta gamma di elementi per l’interfaccia grafica utente desktop: form, bottoni, label, treeview, tabelle, checkbox e via dicendo.
Documentazione al seguente link: Documentazione QtWidgets.
- QtPurchasing, fornisce le classi per il supporto agli acquisti da effettuare via app. In particolare, supporta l’App Store di Mac OS ed IOS, e Google Play di Android.
La documentazione qui.
- QtDataVisualization, modulo utilissimo per la visualizzazione di dati in 3D.
Eccone la documentazione completa: Documentazione QtDataVisualization.
Come installare PyQt5?

Sia la GPL che le versioni commerciali di PyQt5 possono essere create da pacchetti sorgente o installate da binary wheels.
Nel prossimo articolo, utilizzeremo proprio queste ultime per l’installazione del nostro PyQt5.
Continua a seguirci ed iscriviti alla nostra newsletter per rimanere aggiornato!
2 risposte