Come costruire questo programma in Python

Ciao a tutti,
è una richiesta insolita e non inerente al forum, ma so che qui ci sono moltissimi di voi che sanno usare python.

Mi sono costruito questo programma per lavare con le schede clienti.

Ho usato Gemini AI gogle per farlo.

Allego il file costruito.

GLi ho chiesto di creare un app desktop e lui mi ha dato le direttive.

Ma esce completamente dalle mie conoscenze.

Queste sono le indicaizoni che mi ha dato, qualcuno di voi può aiutarmi a completare questo programma?

Come usare questo codice:

  1. Salva il codice: Salva il codice in un file Python (es: gestione_anelli.py).

  2. Installa Tkinter (se necessario): Tkinter è solitamente incluso in Python. Se non lo è, puoi installarlo con: pip install tk

  3. Esegui il codice: Esegui il file Python. Si aprirà una finestra con l’interfaccia per la gestione degli anelli.

  4. Inserisci i dati: Riempi i campi con le informazioni relative all’anello e al cliente.

  5. Salva: Clicca sul pulsante “Salva” per salvare i dati nel file anelli.csv.

  6. Visualizza Completati: Clicca su “Visualizza Anelli Completati” per vedere gli anelli con fase “completamento”.

  7. Statistiche: Clicca su “Statistiche” per vedere le statistiche di tempo medio di lavorazione e ore totali dedicate.

Cosa fa questo codice:

  • Importa le librerie necessarie: tkinter per l’interfaccia grafica, ttk per i widget stilizzati, messagebox per i messaggi a schermo, csv per la gestione del file CSV, e datetime per calcolare i tempi.

  • Definisce la classe AnelloManager: Questa classe contiene tutta la logica dell’applicazione.

  • init: Il costruttore della classe. Crea l’interfaccia utente con i campi di input, le etichette, i menu a tendina (Combobox) e i bottoni.

  • salva_anello: Salva i dati inseriti nel file anelli.csv. Apre il file in modalità “append” (“a”) per aggiungere i nuovi dati alla fine del file.

  • carica_dati: Carica i dati dal file anelli.csv all’avvio del programma. Per ora, carica solo i dati in una lista.

  • pulisci_campi: Pulisce i campi di input dopo aver salvato i dati.

  • visualizza_completati: Crea una nuova finestra che mostra solo gli anelli che hanno la fase impostata su “completamento”. Utilizza un Treeview per visualizzare i dati in forma tabellare.

  • mostra_statistiche: Calcola il tempo medio di lavorazione e le ore totali dedicate a tutti gli anelli e le mostra in un messaggio.

  • Main: Crea la finestra principale dell’applicazione e avvia il loop principale di Tkinter
    code.py (8,4 KB)