Esempi di Python Tkinter

Esempi Di Python Tkinter



Python è un linguaggio di programmazione versatile che può essere utilizzato per implementare diversi tipi di applicazioni. Dispone di molti tipi di moduli per creare applicazioni basate sulla GUI (Graphical User Interface). Python tkinter è uno di questi. Qualsiasi applicazione desktop può essere implementata facilmente utilizzando il modulo tkinter. Sarà meglio se hai una conoscenza di base della programmazione Python per apprendere gli usi del modulo tkinter Python. In questo tutorial vengono mostrati diversi usi del modulo Python tkinter per creare le applicazioni GUI.

Installa il modulo Tkinter

Il modulo tkinter non è installato su Python per impostazione predefinita. Quindi, devi eseguire il seguente comando per installare il modulo tkinter nella versione Python 3+:







$ sudo adatto installare python3-tk



Diversi widget Tkinter

Il modulo tkinter contiene vari widget per vari scopi.







Nome del widget Scopo
Etichetta Viene utilizzato per visualizzare il messaggio di aiuto per l'utente.
Pulsante Viene utilizzato per aggiungere diversi pulsanti nell'applicazione.
Telaio Funziona come un contenitore di widget che contiene diversi tipi di widget per progettare un modulo organizzato.
Iscrizione Viene utilizzato per prendere un testo di una riga dall'utente.
Pulsante di controllo Viene utilizzato per aggiungere i pulsanti delle caselle di controllo per ricevere più input dall'utente da più opzioni.
Pulsante di opzione Viene utilizzato per aggiungere i pulsanti di opzione per ricevere un singolo input dall'utente da più opzioni.
Pulsante della casella combinata Viene utilizzato per aggiungere un elenco a discesa per ricevere un singolo input dall'utente da più opzioni.
ListBox Viene utilizzato per aggiungere una casella di riepilogo per ricevere più input dall'utente da più opzioni.
Testo Viene utilizzato per prendere un testo su più righe dall'utente.
Messaggio Viene utilizzato per visualizzare la finestra dei messaggi per l'utente.
Barra di scorrimento Viene utilizzato per aggiungere una barra di scorrimento nella finestra per scorrere la finestra su e giù.
Pulsante del menu Viene utilizzato per visualizzare il menu all'utente.
Menù Viene utilizzato per visualizzare le voci di menu all'utente.
Finestra con riquadro Funziona come un contenitore di widget che contiene i riquadri orizzontale e verticale.
Schede Viene utilizzato per aggiungere una finestra a schede nell'applicazione.

Diversi esempi di Tkinter

Gli usi di alcuni widget tkinter comuni sono mostrati negli esempi seguenti.

Esempio 1: creare un'applicazione GUI semplice

Crea un file Python con il seguente contenuto che visualizzi una finestra di dialogo al centro dello schermo con un titolo e l'altezza e la larghezza particolari:



#Importa il modulo necessario
dall'importazione di tkinter *

#Crea oggetto per la finestra
tkobj = Tk ( )

#Imposta il titolo della finestra
tkobj.titolo ( 'Modulo Impara tkinter' )

#Imposta l'altezza e la larghezza della finestra
tkobj.geometria ( '300x150' )

#Impostare centralmente la posizione di visualizzazione della finestra
tkobj.eval ( 'tk::PlaceWindow . centro' )

#Esegui Tkinter
tkobj.mainloop ( )

Produzione:

Il seguente output viene visualizzato dopo l'esecuzione dello script. Viene visualizzata una finestra di dialogo con il titolo 'Impara modulo tkinter':

Esempio 2: utilizzo di etichetta e pulsante

Crea un file Python con il seguente script che visualizza una finestra con un'etichetta e una finestra di dialogo:

#Importa il modulo necessario
dall'importazione di tkinter *

#Crea un oggetto per la finestra
tkobj = Tk ( )

#Imposta il titolo della finestra
tkobj.titolo ( 'Modulo Impara tkinter' )

#Imposta l'altezza e la larghezza della finestra
tkobj.geometria ( '400x150' )

#Definisci oggetto etichetta
lbl = Etichetta ( tkobj, testo = 'È una finestra semplice' )
#Aggiungi etichetta alla finestra
lbl.pack ( ipadx = 30 , iPad = venti )

#Definisci oggetto pulsante
btn = pulsante ( tkobj, testo = 'Cliccami' )
#Aggiungi pulsante alla finestra con la posizione
btn.pack ( ipadx = 30 , iPad = 10 )

#Impostare centralmente la posizione di visualizzazione della finestra
tkobj.eval ( 'tk::PlaceWindow . centro' )

#Esegui Tkinter
tkobj.mainloop ( )

Produzione:

Dopo aver eseguito lo script, al centro dello schermo viene visualizzata una finestra con un'etichetta e un pulsante.

Esempio 3: impostare il colore del carattere e il colore dello sfondo

Crea un file Python con il seguente script che visualizza una finestra con un'etichetta e un pulsante colorato. Qui, l'attributo background viene utilizzato per impostare il colore di sfondo del pulsante e l'attributo in primo piano viene utilizzato per impostare il colore del carattere del pulsante:

#Importa il modulo necessario
dall'importazione di tkinter *

#Crea un oggetto per la finestra
tkobj = Tk ( )

#Imposta il titolo della finestra
tkobj.titolo ( 'Modulo Impara tkinter' )

#Imposta l'altezza e la larghezza della finestra
tkobj.geometria ( '400x150' )

#Definisci oggetto etichetta
lbl = Etichetta ( tkobj, testo = 'Imposta il colore di sfondo e di primo piano' )
#Aggiungi etichetta alla finestra
lbl.pack ( ipadx = 30 , iPad = venti )

#Definisci l'oggetto pulsante con il colore di sfondo e di primo piano
btn = pulsante ( tkobj, testo = 'Cliccami' , sfondo = 'blu' , primo piano = 'rosso' )
#Aggiungi pulsante alla finestra con la posizione
btn.pack ( ipadx = 30 , iPad = 8 )

#Impostare centralmente la posizione di visualizzazione della finestra
tkobj.eval ( 'tk::PlaceWindow . centro' )

#Esegui Tkinter
tkobj.mainloop ( )

Produzione:

Dopo aver eseguito lo script viene visualizzata la seguente finestra:

Esempio 4: utilizzo di Frame

Nel seguente script Python, un'etichetta e due pulsanti vengono visualizzati all'interno di un widget frame. Crea un file Python con lo script per controllare l'output:

#Importa il modulo necessario
dall'importazione di tkinter *

#Crea un oggetto per la finestra
tkobj = Tk ( )

#Imposta il titolo della finestra
tkobj.titolo ( 'Modulo tkinter' )

#Imposta l'altezza e la larghezza della finestra
tkobj.geometria ( '250x100' )

#Definisci oggetti cornice
frm = Cornice ( tkobj )
frm.pack ( )
lframe = Cornice ( tkobj )
lframe.pack ( lato =SINISTRA )
rframe = Cornice ( tkobj )
rframe.pack ( lato =DESTRA )

#Definisci l'etichetta all'interno della cornice
lbl = Etichetta ( fra, testo = 'Uso del telaio' , fig = 'blu' )
lbl.pack ( )

#Definisci i pulsanti all'interno della cornice
btn1 = Pulsante ( lframe, testo = '' , fig = 'nero' , bg = 'bianco' )
btn2.pack ( lato =DESTRA )

#Impostare centralmente la posizione di visualizzazione della finestra
tkobj.eval ( 'tk::PlaceWindow . centro' )

#Esegui Tkinter
tkobj.mainloop ( )

Produzione:

Dopo l'esecuzione dello script viene visualizzato il seguente output:

Esempio 5: gestire l'evento del pulsante

L'uso della finestra di messaggio è mostrato nello script seguente. La finestra di messaggio viene visualizzata quando si fa clic su un pulsante:

#Importa i moduli necessari
dall'importazione di tkinter *
dalla finestra di messaggio di importazione di tkinter

#Crea un oggetto per la finestra
tkobj = Tk ( )

#Imposta il titolo della finestra
tkobj.titolo ( 'Modulo Impara tkinter' )

#Imposta l'altezza e la larghezza della finestra
tkobj.geometria ( '400x150' )

#Definire una funzione per visualizzare una finestra di messaggio
visualizzazione def ( ) :
messagebox.showinfo ( 'Informazione' , 'Il pulsante è stato cliccato.' )

#Crea testo di etichette con colore, stile e posizione del carattere
Etichetta ( tkobj, testo = 'Applicazione desktop che utilizza tkinter.' , fig = 'verde' ) .pacchetto ( Paddy = 25 )

#Crea un pulsante con un gestore di pulsanti
Pulsante ( tkobj, testo = 'Mostra messaggio' , comando =visualizzazione ) .pacchetto ( )

#Impostare centralmente la posizione di visualizzazione della finestra
tkobj.eval ( 'tk::PlaceWindow . centro' )

#Esegui Tkinter
tkobj.mainloop ( )

Produzione:

Dopo aver eseguito lo script viene visualizzata la seguente finestra:

Dopo aver premuto il pulsante viene visualizzata la seguente finestra di messaggio:

Esempio 6: prendere un input dall'utente

Nel modulo tkinter sono disponibili più widget per ricevere input dall'utente. Gli utilizzi dei widget più comuni sono mostrati nello script seguente. Crea un file Python con il seguente codice per controllare l'output:

#Importa i moduli necessari
dall'importazione di tkinter *
da tkinter.ttk importa Combobox
da tkinter import ttk
importare tkinter COME ok
dalla finestra di messaggio di importazione di tkinter

#Crea oggetto tkinter
tkobj = Tk ( )

#Imposta il titolo della finestra
tkobj.titolo ( 'Modulo informazioni utente' )

#Imposta l'altezza e la larghezza della finestra
tkobj.geometria ( '550x320' )

#Definire una funzione per visualizzare i valori del modulo
def valori_visualizzati ( ) :
#Leggi testo a riga singola
nome = 'Nome : ' + nome_val.get ( ) + ' \N '
#Leggi il valore del pulsante di opzione selezionato
Se genere.get ( ) == 1 :
g = 'Maschio'
altro:
g = 'Femmina'
g = 'Genere : ' +g+ ' \N '

#Leggi i valori della casella di controllo selezionata
gioco = ''
Se g1.get ( ) == 1 :
gioco = 'Cricket'
Se g2.get ( ) == 1 :
Se gioco ! = '' :
gioco += ', ' + 'Calcio'
altro:
gioco = 'Calcio'
Se g3.get ( ) == 1 :
Se gioco ! = '' :
gioco += ', ' + 'Pallacanestro'
altro:
gioco = 'Pallacanestro'
gioco = 'Gioco : ' +gioco+ ' \N '

#Leggi i valori della casella combinata
paese = 'Paese : ' + paeseVal.get ( ) + ' \N '
#Leggi il testo su più righe
indirizzo = 'Indirizzo : ' + indirizzo.get ( '1.0' , 'FINE' ) + ' \N '
#Unisci tutti i valori presi dai campi
valori_forma = nome + g + gioco + paese + indirizzo
#Visualizza i valori nella finestra di messaggio
messagebox.showinfo ( 'Dettagli informazioni utente' , valori_forma )


#Crea un'etichetta e il campo del nome
Etichetta ( tkobj, testo = 'Nome : ' ) .posto ( X = 100 , E = venti )
nome_val = StringVar ( )
ttk.Entry ( tkobj, testovariabile =nome_val ) .pacchetto ( Padx = 220 , Paddy = venti )

#Crea un'etichetta e il pulsante di opzione
Etichetta ( tkobj, testo = 'Genere : ' ) .posto ( X = 100 , E = 60 )
genere = Var.int ( )
genere.set ( 1 )
Pulsante di opzione ( tkobj, testo = 'Maschio' , variabile =sesso, valore = 1 ) .posto ( X = 210 , E = 60 )
Pulsante di opzione ( tkobj, testo = 'Femmina' , variabile =sesso, valore = 2 ) .posto ( X = 290 , E = 60 )

#Crea un'etichetta e un pulsante casella di controllo
Etichetta ( tkobj, testo = 'Gioco preferito:' ) .posto ( X = 100 , E = 100 )
g1 = Var.int ( )
g2 = Var.int ( )
g3 = Var.int ( )
Pulsante di controllo ( tkobj, testo = 'Cricket' , variabile =g1 ) .posto ( X = 210 , E = 100 )
Pulsante di controllo ( tkobj, testo = 'Calcio' , variabile =g2 ) .posto ( X = 290 , E = 100 )
Pulsante di controllo ( tkobj, testo = 'Pallacanestro' , variabile =g3 ) .posto ( X = 380 , E = 100 )

#Definisce i valori della tupla
dati = ( 'Bangladesh' , 'Giappone' , 'STATI UNITI D'AMERICA' )
#Crea etichetta e casella combinata
Etichetta ( tkobj, testo = 'Paese : ' ) .posto ( X = 100 , E = 140 )
countryVal = StringVar ( )
Casella combinata ( tkobj, valori =dati, testovariabile =PaeseVal ) .posto ( X = 220 , E = 140 )

#Crea etichetta e campo di testo
Etichetta ( tkobj, testo = 'Indirizzo : ' ) .posto ( X = 100 , E = 180 )
indirizzo = ( tk.Testo ( tkobj, altezza = 3 , larghezza = venti ) )
indirizzo.luogo ( X = 220 , E = 180 )

#Crea un pulsante con un gestore di pulsanti
Pulsante ( tkobj, testo = 'Invia' , comando =visualizza_valori ) .posto ( X = 250 , E = 250 )

#Esegui Tkinter
tkobj.mainloop ( )

Produzione:

Dopo aver eseguito lo script viene visualizzata la seguente finestra:

Compila i campi del modulo e premi il pulsante “Invia”.

Apparirà la seguente finestra di messaggio con i valori inviati:

Conclusione

I metodi per utilizzare il modulo tkinter Python per creare le applicazioni GUI sono mostrati in questo tutorial utilizzando più esempi.