CodeGym /Corsi /Python SELF IT /Pulsanti e campi di input

Pulsanti e campi di input

Python SELF IT
Livello 49 , Lezione 2
Disponibile

1. Creare Pulsanti in Tkinter

Perché ne abbiamo bisogno?

Immagina di creare una calcolatrice. Chi la userebbe mai se non fosse possibile inserire dati e premere sul pulsante uguale? Oppure, forse stai sviluppando un modulo per l'inserimento di dati. Beh, anche qui i campi di input e i pulsanti sono molto utili.

I pulsanti e i campi di input permettono all’utente di interagire direttamente con il programma e il suo comportamento. È come una bacchetta magica che trasforma una finestra passiva in uno strumento attivo.

Come appare un pulsante in Tkinter?

La libreria Tkinter offre il widget Button per creare pulsanti. Questo widget è abbastanza flessibile e consente di configurare il testo del pulsante, il colore e di assegnare un'azione da eseguire al clic.

Così funziona:

import tkinter as tk

# Creiamo la finestra principale
root = tk.Tk()
root.title("La mia applicazione")

# Creiamo un pulsante e lo aggiungiamo alla finestra
button = tk.Button(root, text="Premimi!", command=lambda: print("Pulsante premuto!"))
button.pack()

# Avvio del ciclo principale
root.mainloop()

Nota il parametro command: consente di associare un'azione specifica al pulsante. In questo esempio, premendo il pulsante, nella console verrà stampato il messaggio "Pulsante premuto!".

Personalizziamo il pulsante per renderlo figo

Ovviamente vuoi che i tuoi pulsanti non solo funzionino, ma siano anche belli da vedere. Aggiungiamo un po' di creatività:

button = tk.Button(root, text="Premimi!", command=lambda: print("Pulsante premuto!"), bg="blue", fg="white", font=("Helvetica", 16))
button.pack(pady=10)
  • bg e fg — definiscono il colore dello sfondo e del testo, rispettivamente.
  • font — consente di scegliere il font e le dimensioni.
  • pady — margini verticali, per dare un po' di respiro al pulsante.

2. Campi di Input con Tkinter

Passiamo ai campi di input di testo. Sono quelle piccole finestre di testo dove l'utente può inserire i suoi desideri (e non solo).

Semplice input di testo

Creare un campo di input è facilissimo con il widget Entry:

entry = tk.Entry(root)
entry.pack()

Ma a cosa serve un campo di input appena creato se non puoi estrarre i dati? Impariamo a farlo!

def get_input():
    user_input = entry.get()
    print(f"L'utente ha inserito: {user_input}")

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="Ottieni input", command=get_input)
button.pack()

Fantastico, ora abbiamo un pulsante che stampa a schermo ciò che è stato inserito nel campo.

Rendiamo il campo di input più cool

Come con i pulsanti, anche i campi di input possono essere stilizzati:

entry = tk.Entry(root, font=("Arial", 14), fg="black", bg="lightyellow")
entry.pack(padx=5, pady=5)

Qui abbiamo impostato il font, il colore del testo e lo sfondo. I parametri padx e pady aggiungono margini orizzontali e verticali rispettivamente.

3. Applicazione Pratica

Mettiamo tutto insieme e creiamo un'applicazione in cui l'utente può inserire dati e premere un pulsante per elaborare le informazioni immesse. Creeremo una piccola calcolatrice che somma i numeri inseriti.

import tkinter as tk

def calculate():
    try:
        # Recupero dei valori dai campi
        number1 = float(entry1.get())
        number2 = float(entry2.get())
        
        # Calcolo della somma
        result = number1 + number2
        
        # Aggiornamento del testo del risultato
        result_label.config(text=f"Risultato: {result}")
    except ValueError:
        result_label.config(text="Inserisci numeri validi!")

# Creiamo la finestra principale
root = tk.Tk()
root.title("Calcolatrice Semplice")

# Campi di input per i numeri
entry1 = tk.Entry(root, width=10)
entry1.pack(pady=5)
entry2 = tk.Entry(root, width=10)
entry2.pack(pady=5)

# Pulsante per il calcolo
calculate_button = tk.Button(root, text="Somma", command=calculate)
calculate_button.pack(pady=10)

# Etichetta per mostrare il risultato
result_label = tk.Label(root, text="Risultato: ")
result_label.pack()

# Avvio del ciclo principale
root.mainloop()

Così semplicemente, abbiamo creato una piccola, ma orgogliosa, applicazione-calcolatrice che permette all'utente di inserire dati e vedere il risultato.

Debugging con i widget

Lavorando con pulsanti e campi di input, potresti incontrare alcuni errori comuni. Ad esempio, capita spesso che il gestore del pulsante non venga avviato. La causa? Mancanza del parametro command o un errore nella sintassi della lambda function.

Inoltre, spesso si verificano errori legati a input non validi. Quindi, non dimenticare di verificare e gestire l'input, come abbiamo fatto nella nostra calcolatrice, per evitare problemi.

Bene, questo è tutto per oggi! Ora sai come aggiungere pulsanti e campi di input alla tua applicazione, rendendo l'interazione con l'utente interattiva e interessante. Il prossimo passo è la gestione degli eventi al clic dei pulsanti, ma ne parleremo nella prossima lezione!

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION