Programmazione con Python - Corso per principianti.

Guida per principianti all'uso del Tkinter Grid-Manager

Tutti i video del tutorial Programmazione con Python - il corso per principianti

Se stai cercando un modo per rendere le tue Tkinter applicazioni efficienti, il Grid-Manager è lo strumento ideale per te. Con esso puoi organizzare la tua interfaccia grafica (GUI) in una griglia, creando un'applicazione strutturata e dall'aspetto ordinato. In questa guida scoprirai passo dopo passo come utilizzare il gestore di geometria Grid per disporre correttamente i tuoi widget e migliorare l'esperienza utente.

Principali conclusioni

  • Il gestore di griglia consente una semplice disposizione dei widget in una griglia bidimensionale.
  • Ogni widget viene posizionato tramite righe (rows) e colonne (columns).
  • Puoi personalizzare il gestore di griglia per creare vari layout, come unire colonne o disporre elementi su più righe e colonne.

Guida passo-passo

Passo 1: Configurazione della tua applicazione Tkinter

Per iniziare con il gestore di griglia, crea innanzitutto un nuovo script Python. Chiamalo ad esempio GridManager.py. Importa la libreria Tkinter aggiungendo il seguente codice.

Guida per principianti all'uso del gestore Grid di Tkinter
from tkinter import *

Ora inizializzi la tua finestra principale.

root = Tk()

Passo 2: Creare etichette e campi di input

Aggiungi due etichette e i rispettivi campi di input. La prima etichetta dovrebbe contenere il testo "Nome", e il campo di input dovrebbe essere posizionato accanto a quest'etichetta.

label1 = Label(root, text="Vorname")
label1.grid(row=0, column=0)

entry1 = Entry(root) entry1.grid(row=0, column=1)

La seconda etichetta sarà utilizzata per il "Cognome", e il campo di input sarà posizionato sotto la prima etichetta.

Guida amichevole per principianti all'uso del Tkinter Grid-Manager
label2 = Label(root, text="Nachname")
label2.grid(row=1, column=0)

entry2 = Entry(root) entry2.grid(row=1, column=1)

Passo 3: Aggiungere un Checkbutton

Per perfezionare ulteriormente il layout, aggiungiamo un Checkbutton. Questo sarà posizionato nella riga successiva. In questo caso, puoi usare l'attributo sticky per allineare il pulsante a sinistra.

Guida amichevole per principianti all'uso del Tkinter Grid-Manager
checkbutton = Checkbutton(root, text="Accetto i termini.")
checkbutton.grid(row=2, column=0, columnspan=2, sticky=W)

Passo 4: Aggiungere un'immagine

Ora è il momento di aggiungere un'immagine. L'immagine sarà posizionata nella prima riga della terza colonna e dovrà estendersi su due colonne e due righe. A questo scopo si utilizzano i parametri rowspan e columnspan.

Guida amichevole per principianti all'uso del Tkinter Grid-Manager
image = PhotoImage(file="bild.png")
image_label = Label(root, image=image)
image_label.grid(row=0, column=2, rowspan=2, columnspan=2, sticky='nsew', padx=3, pady=3)

Passo 5: Aggiungere pulsanti

Adesso aggiungiamo due pulsanti all'interfaccia utente. Il primo pulsante sarà posizionato nella terza riga della terza colonna.

Guida amichevole per principianti all'uso del gestore Grid di Tkinter
button1 = Button(root, text="Pulsante 1")
button1.grid(row=2, column=2)

Il secondo pulsante sarà nella stessa riga, ma nella quarta colonna.

Guida amichevole per principianti all'uso del Tkinter Grid-Manager
button2 = Button(root, text="Pulsante 2")
button2.grid(row=2, column=3)

Passo 6: Ottimizzazione del layout

Per aumentare lo spazio tra i pulsanti, puoi utilizzare l'attributo padx e pady. Qui viene aggiunto uno spazio aggiuntivo di 2 pixel per separare visivamente i pulsanti.

Guida per principianti all'uso del Tkinter Grid-Manager
button1.grid(padx=2, pady=2)
button2.grid(padx=2, pady=2)

Passo 7: Avviare il ciclo principale

Per avviare l'applicazione, inserisci il comando mainloop().

root.mainloop()

Riepilogo

In questa guida hai imparato come utilizzare il gestore di griglia in Tkinter per creare e disporre efficacemente i widget. Hai creato etichette, campi di input, pulsanti e Checkbutton, integrandoli in un layout strutturato. L'uso di rowspan, columnspan e attributi sticky ti offre numerose possibilità per progettare la tua interfaccia utente secondo le tue esigenze.

Domande frequenti

Come utilizzo il gestore di griglia in Tkinter?Disponendo ogni widget con il metodo.grid() nella posizione desiderata nella riga e nella colonna.

Cosa fa il metodo rowspan?Con rowspan puoi estendere un widget su più righe.

Come aggiungo spazio tra i widget?Utilizza i parametri padx e pady nel metodo grid() per definire rispettivamente lo spazio orizzontale e verticale.

Qual è la differenza tra columnspan e sticky?Columnspan definisce quante colonne occupa un widget, mentre sticky determina la posizione all'interno della cella.