Python 3 - Programmazione GUI (Tkinter)
Python fornisce varie opzioni per lo sviluppo di interfacce utente grafiche (GUI). Le caratteristiche più importanti sono elencate di seguito.
Tkinter- Tkinter è l'interfaccia Python per il toolkit GUI Tk fornito con Python. Guarderemo questa opzione in questo capitolo.
wxPython- Questa è un'interfaccia Python open source per il toolkit GUI wxWidgets. Puoi trovare un tutorial completo su WxPython qui .
PyQt−Questa è anche un'interfaccia Python per una popolare libreria GUI Qt multipiattaforma. TutorialsPoint ha un ottimo tutorial su PyQt qui .
JPython - JPython è una porta Python per Java, che fornisce agli script Python un accesso senza interruzioni alle librerie di classi Java sulla macchina locale http://www.jython.org.
Sono disponibili molte altre interfacce, che puoi trovare in rete.
Programmazione Tkinter
Tkinter è la libreria GUI standard per Python. Python se combinato con Tkinter fornisce un modo semplice e veloce per creare applicazioni GUI. Tkinter fornisce una potente interfaccia orientata agli oggetti al toolkit della GUI di Tk.
Creare un'applicazione GUI usando Tkinter è un compito facile. Tutto quello che devi fare è eseguire i seguenti passaggi:
Importa il modulo Tkinter .
Crea la finestra principale dell'applicazione GUI.
Aggiungere uno o più dei widget sopra menzionati all'applicazione GUI.
Entra nel ciclo di eventi principale per agire contro ogni evento attivato dall'utente.
Esempio
#!/usr/bin/python3
import tkinter # note that module name has changed from Tkinter in Python 2 to tkinter in Python 3
top = tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
Questo creerebbe una finestra seguente:
Widget di Tkinter
Tkinter fornisce vari controlli, come pulsanti, etichette e caselle di testo utilizzati in un'applicazione GUI. Questi controlli sono comunemente chiamati widget.
Attualmente ci sono 15 tipi di widget in Tkinter. Presentiamo questi widget e una breve descrizione nella tabella seguente:
Sr.No. | Operatore e descrizione |
---|---|
1 | Pulsante Il widget Button viene utilizzato per visualizzare i pulsanti nell'applicazione. |
2 | Tela Il widget Canvas viene utilizzato per disegnare forme, come linee, ovali, poligoni e rettangoli, nell'applicazione. |
3 | Pulsante di spunta Il widget Checkbutton viene utilizzato per visualizzare una serie di opzioni come caselle di controllo. L'utente può selezionare più opzioni alla volta. |
4 | Iscrizione Il widget Voce viene utilizzato per visualizzare un campo di testo a riga singola per accettare valori da un utente. |
5 | Telaio Il widget Frame viene utilizzato come widget contenitore per organizzare altri widget. |
6 | Etichetta Il widget Etichetta viene utilizzato per fornire una didascalia di una riga per altri widget. Può contenere anche immagini. |
7 | Listbox Il widget Listbox viene utilizzato per fornire un elenco di opzioni a un utente. |
8 | Menubutton Il widget Menubutton viene utilizzato per visualizzare i menu nell'applicazione. |
9 | Menù Il widget Menu viene utilizzato per fornire vari comandi a un utente. Questi comandi sono contenuti all'interno di Menubutton. |
10 | Messaggio Il widget Messaggio viene utilizzato per visualizzare campi di testo multilinea per accettare valori da un utente. |
11 | Radiobutton Il widget Radiobutton viene utilizzato per visualizzare una serie di opzioni come pulsanti radio. L'utente può selezionare solo un'opzione alla volta. |
12 | Scala Il widget Scala viene utilizzato per fornire un widget di scorrimento. |
13 | Barra di scorrimento Il widget Barra di scorrimento viene utilizzato per aggiungere funzionalità di scorrimento a vari widget, come le caselle di riepilogo. |
14 | Testo Il widget Testo viene utilizzato per visualizzare il testo su più righe. |
15 | Toplevel Il widget Toplevel viene utilizzato per fornire un contenitore di finestre separato. |
16 | Spinbox Il widget Spinbox è una variante del widget standard Tkinter Entry, che può essere utilizzato per selezionare da un numero fisso di valori. |
17 | PanedWindow Una PanedWindow è un widget contenitore che può contenere un numero qualsiasi di riquadri, disposti orizzontalmente o verticalmente. |
18 | LabelFrame Un labelframe è un semplice widget contenitore. Il suo scopo principale è quello di fungere da spaziatore o contenitore per layout di finestre complessi. |
19 | tkMessageBox Questo modulo viene utilizzato per visualizzare le finestre di messaggio nelle applicazioni. |
Attributi standard
Vediamo come vengono specificati alcuni dei loro attributi comuni, come dimensioni, colori e caratteri.
Dimensions
Colors
Fonts
Anchors
Stili in rilievo
Bitmaps
Cursors
Gestione della geometria
Tutti i widget di Tkinter hanno accesso ai metodi di gestione della geometria specifici, che hanno lo scopo di organizzare i widget in tutta l'area del widget genitore. Tkinter espone le seguenti classi di gestione della geometria: pack, grid e place.
Il metodo pack () - Questo gestore della geometria organizza i widget in blocchi prima di posizionarli nel widget genitore.
Il metodo grid () - Questo gestore della geometria organizza i widget in una struttura simile a una tabella nel widget principale.
Il metodo place () - Questo gestore della geometria organizza i widget posizionandoli in una posizione specifica nel widget genitore.