In questo articolo, esamineremo le 5 migliori librerie GUI Python che puoi usare nei tuoi progetti. Continua a leggere per scoprirle.
Tabella del contenuto
Cos’è una GUI?
Una GUI o interfaccia grafica utente è un ambiente interattivo per prendere risposte dagli utenti su varie situazioni come moduli, documenti, test, ecc. Fornisce all’utente una buona schermata interattiva rispetto ad una tradizionale interfaccia a riga di comando (CLI).
Elenco delle migliori librerie GUI di Python
Andiamo subito al sodo e guardiamo le migliori librerie GUI per Python.
1. PyQT5
PyQT5 è un framework di interfaccia grafica (GUI) per Python. È molto popolare tra gli sviluppatori e la GUI può essere creata tramite codifica o un designer QT. Un framework di sviluppo QT è un framework visivo che permette il drag and drop dei widget per costruire interfacce utente.
È un software libero, open source vincolante ed è implementato per lo sviluppo di applicazioni cross platform. Viene utilizzato su Windows, Mac, Android, Linux e Raspberry PI.
Per l’installazione di PyQT5 , è possibile utilizzare il seguente comando :
pip install pyqt5
Un semplice codice è dimostrato qui:
from PyQt5.QtWidgets import QApplication, QMainWindowimport sysclass Window(QMainWindow): def __init__(self): super().__init__() self.setGeometry(300, 300, 600, 400) self.setWindowTitle("PyQt5 window") self.show()app = QApplication(sys.argv)window = Window()sys.exit(app.exec_())
L’output del codice sopra è il seguente:
Il team di sviluppatori Python di ScienceSoft evidenzia i vantaggi dell’uso di PyQt:
PyQt è un insieme maturo di collegamenti Python a Qt per lo sviluppo multipiattaforma di applicazioni desktop. Offre una ricca selezione di widget integrati e strumenti per la creazione di widget personalizzati per dare forma a GUI sofisticate, così come un robusto supporto per database SQL per connettersi e interagire con i database.
2. Python Tkinter
Un altro framework GUI si chiama Tkinter. Tkinter è una delle più popolari librerie GUI Python per sviluppare applicazioni desktop. È una combinazione di TK e del framework GUI standard di Python.
Tkinter fornisce diversi widget come etichette, pulsanti, caselle di testo, caselle di controllo che sono usati in un’applicazione di interfaccia grafica.
I widget di controllo dei pulsanti sono utilizzati per visualizzare e sviluppare applicazioni mentre il widget canvas è utilizzato per disegnare forme come linee, poligoni, rettangoli, ecc. nell’applicazione. Inoltre, Tkinter è una libreria integrata per Python, quindi non è necessario installarla come altri framework GUI. Di seguito è riportato un esempio di codifica utilizzando Tkinter.
from tkinter import *class Root(Tk): def __init__(self): super(Root,self).__init__() self.title("Python Tkinter") self.minsize(500,400)root = Root()root.mainloop()
L’output del codice di cui sopra è quello mostrato qui sotto:
3. PySide 2
La terza libreria Python GUI di cui parleremo è PySide2 o potete chiamarla QT per Python. Qt for Python offre i binding Python ufficiali per Qt (PySide2), permettendo l’uso delle sue API in applicazioni Python, e uno strumento generatore di binding (Shiboken2) che può essere usato per esporre progetti C++ in Python.
Qt per Python è disponibile sotto la LGPLv3/GPLv3 e la licenza commerciale di Qt.
Ora lasciate che vi mostri il processo di installazione e anche un esempio. Per l’installazione, potete semplicemente usare:
pip install PySide2
Qui c’è un esempio per impostare un frame GUI usando PySide2.
from PySide2.QtWidgets import QtWidgets, QApplicationimport sysclass Window(QtWidgets): def __init__(self): super().__init__() self.setWindowTitle("Pyside2 Window") self.setGeometry(300,300,500,400)app = QApplication(sys.argv)window=Window()window.show()app.exec_()
L’output del codice di cui sopra è quello mostrato qui sotto:
4. Kivy
Un altro framework GUI di cui parleremo si chiama Kivy. Kivy è una libreria Python open source per lo sviluppo rapido di applicazioni che fanno uso di interfacce utente innovative, come le applicazioni multi-touch.
Kivy funziona su Linux, Windows, OS X, Android, iOS e Raspberry Pi. È possibile eseguire lo stesso codice su tutte le piattaforme supportate. Può utilizzare nativamente la maggior parte degli input, dei protocolli e dei dispositivi inclusi WM_Touch, WM_Pen, Mac OS X Trackpad e Magic Mouse, Mtdev, Linux Kernel HID.
Kivy è 100% libero da usare, sotto licenza MIT.
Il toolkit è sviluppato, supportato e usato professionalmente. Puoi usarlo in un prodotto commerciale. Il framework è stabile e ha un’API ben documentata, oltre a una guida alla programmazione per aiutarvi a iniziare.
Il motore grafico di Kivy è costruito su OpenGL ES 2, utilizzando una pipeline grafica moderna e veloce.
Il toolkit viene fornito con più di 20 widget, tutti altamente estensibili. Molte parti sono scritte in C usando Cython, e testate con test di regressione.
Venendo all’installazione di Kivy, è necessario installare la dipendenza “glew”. Potete usare il comando pip come segue:
pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
Inserite questo comando e premete invio, verrà installato. Dopo di che è necessario digitare questo comando per installare Kivy:
pip install Kivy
Dopo l’installazione, lasciate che vi mostri un semplice esempio di Kivy per mostrare quanto sia facile.
from kivy.app import Appfrom kivy.uix.button import Buttonclass TestApp(App): def build(self): return Button(text= " Hello Kivy World ")TestApp().run()
L’output del codice di cui sopra è quello mostrato qui sotto:
5. wxPython
L’ultimo framework GUI di cui parleremo è wxPython. wxPython è un toolkit GUI multipiattaforma per il linguaggio di programmazione Python.
Permette ai programmatori Python di creare programmi con un’interfaccia grafica robusta e altamente funzionale, semplicemente e facilmente. È implementato come un insieme di moduli di estensione Python che avvolgono i componenti GUI della popolare libreria multipiattaforma wxWidgets, che è scritta in C++.
Come Python e wxWidgets, wxPython è Open Source.
wxPython è un toolkit multipiattaforma. Questo significa che lo stesso programma funzionerà su più piattaforme senza modifiche. Attualmente, le piattaforme supportate sono Microsoft Windows, Mac OS X e macOS, e Linux.
Ora vi mostrerò il processo di installazione e creerò un semplice esempio. Quindi per l’installazione basta digitare il seguente comando:
pip install wxPython
Ecco un esempio:
import wxclass MyFrame(wx.Frame): def __init__(self,parent,title): super(MyFrame,self).__init__(parent,title=title,size=(400,300)) self.panel=MyPanel(self)class MyPanel(wx.Panel): def __init__(self,parent): super(MyPanel,self).__init__(parent)class MyApp(wx.App): def OnInit(self): self.frame=MyFrame(parent=None, title= "wxPython Window") self.frame.show() return Trueapp = MyApp()app.MainLoop()
L’output del codice di cui sopra è quello mostrato qui sotto:
Conclusione
Ora abbiamo visto 5 librerie GUI Python e secondo me, PySide2 e pyQt5 sono i framework GUI più potenti. Ma sono dotati di una licenza commerciale e questo spiega perché sono ricchi di funzionalità. Tkinter, Kivy e wxPython sono le librerie GUI gratuite per Python.
Qual è la vostra libreria GUI preferita in Python?