Programmazione guidata dagli eventi e interfacce grafiche.

Programmazione orientata agli oggetti
Programmazione orientata agli oggetti

Tutti gli esempi sono in python.

1. Programmazione guidata dagli eventi (Event-Driven Programming).

Descrizione.

  • Il flusso del programma non è sequenziale, ma determinato da eventi esterni, come:
    • clic del mouse,
    • pressione di tasti,
    • messaggi di rete,
    • timer.
  • Il programma risponde agli eventi tramite funzioni callback o listener.

Concetti chiave.

  • Evento: azione o segnale che avvia una risposta.
  • Listener / Handler: funzione che viene eseguita quando si verifica l’evento.
  • Loop principale (main loop): ciclo che rimane in ascolto degli eventi.

Esempio concettuale (Python con Tkinter).

import tkinter as tk

def clic_bottone():

    print(“Hai cliccato il bottone!”)

finestra = tk.Tk()

bottone = tk.Button(finestra, text=”Cliccami”, command=clic_bottone)

bottone.pack()

finestra.mainloop()  # loop principale che ascolta gli eventi

2. Interfacce grafiche (GUI).

Descrizione.

  • Una GUI permette all’utente di interagire con il programma tramite finestre, pulsanti, caselle di testo, menu, ecc.
  • È strettamente legata alla programmazione guidata dagli eventi, perché le azioni dell’utente generano eventi.

Concetti chiave.

  • Widget: elementi grafici (pulsanti, etichette, caselle di testo, menu).
  • Contenitore (container): finestra o frame dove si posizionano i widget.
  • Layout manager: regole per posizionare i widget (griglie, pack, ecc.).
  • Callback/event handler: funzione associata all’evento di un widget.

Esempio di base (Tkinter).

import tkinter as tk

def saluta():

    nome = entry_nome.get()

    label_risposta.config(text=f”Ciao, {nome}!”)

finestra = tk.Tk()

finestra.title(“Esempio GUI”)

entry_nome = tk.Entry(finestra)

entry_nome.pack()

bottone = tk.Button(finestra, text=”Saluta”, command=saluta)

bottone.pack()

label_risposta = tk.Label(finestra, text=””)

label_risposta.pack()

finestra.mainloop()

Spiegazione:

  • L’utente scrive il nome nella casella di testo.
  • Quando clicca il bottone, viene chiamata la funzione saluta.
  • Il risultato viene mostrato nella Label.

3. Suggerimenti pratici per il laboratorio.

  1. Imparare a creare widget base: pulsanti, etichette, caselle di testo, menu.
  2. Gestire eventi comuni: click, tasti, input.
  3. Comprendere il main loop e l’importanza di non bloccarlo.
  4. Saper combinare logica del programma con eventi GUI.

Nota: anche se Tkinter è il più comune per Python, i concetti sono simili in altri linguaggi:

  • Java → Swing o JavaFX
  • C# → Windows Forms o WPF
  • JavaScript → manipolazione DOM + event listener
** Se puoi sostenere il mio lavoro, comprami un libro | Buy me a book! **
** ISCRIVITI ALLA NEWSLETTER ! **

About the Author

Sergio Mauri
Blogger, autore. Perito in Sistemi Informativi Aziendali, musicista e compositore, Laurea in Discipline storiche e filosofiche e in Filosofia. Premio speciale al Concorso Claudia Ruggeri nel 2007; terzo posto al Premio Igor Slavich nel 2020. Ha pubblicato con Terra d'Ulivi nel 2007 e nel 2011, con Hammerle Editori nel 2013 e 2014, con PGreco nel 2015 con Historica Edizioni e Alcova Letteraria nel 2022 con Silele Edizioni (La Tela Nera) nel 2023 e con Amazon Kdp nel 2024 e 2025.