Python seconda Finestra

di il
2 risposte

Python seconda Finestra

Buon giorno,
premetto i miei impegni Python come autodidatta per cui nessuna conoscenza programmazione O.O.
Ho creato una app chiamata Agenda nella quale registro i dati delle persone. per effettuare una ricerca sul database apro un messagebox (posto in una def chiamata dal menu) nel quale chiedo i dati per poi costruire la Query di ricerca. Fin qui tutto Ok. Mi è saltato in mente di aprire, anzichè il messagebox una finestra (nella def cmdCampiFiltro) in cui cin widw = Toplevel(app)
costruisco la finestra, ci metto le lebel, le Entry, le posiziono, dichiaro le variabili e ci metto anche un bottone.
Quando, però, inserisco i dati nei campi Entry e clicco il bottone, la ... vatiabile.get()... riferita per esempio al primo Entry, non viene riconosciuta. Quindi non so come poter gestire, in questa seconda finestra, i dati che inserisco e che vorrei elaborare. Quando opero, naturalmente anche la prima finestra rimane aperta. Ho fatto mille prove, ma tutti insegnano come aprire una o più finestre, ma poi tutto finisce. Grazie per una risposta.Qualunque essa sia. Grazie per un Vs eventuale suggerimento jacopo

2 Risposte

  • Re: Python seconda Finestra

    Salve,
    Avrei qualche domanda da farle:
    - Si tratta di Tkinter, giusto?
    - Hai riscontrato dei problemi con le Label e gli Entry aventi delle variabili in comune?
    - Hai riscontrato dei problemi nel gestire più finestre contemporaneamente?

    (Chiedo perché non sono sicuro di aver capito il tuo messaggio)
  • Re: Python seconda Finestra

    Salve.
    Annuncio che ho risolto. Il problema era questo: Attraverso una "def" chiamata da Menù la quale creava una nuova finestra corredata da Label, campi Entry e da un pulsante che avrebbe dovuto elaborare i valori inseriti nei campi Entry.
    Quando premevo il pulsante, andavo nella def di esecuzione nella quale vi era una istruzione tipo Fnome = txtNome.get().
    dove txtNome era il nome della Entry dichiarata nella precedente "def". Per risposta ottenevo un errore che diceva : txtNome inesistente. Ho cercato invano dappertutto, ma nulla; neppure una parvenza di esempio. Poi, dopo che vi ho scritto, mi è venuto un e ho capito quanto poco sappia di programmazione (autididatta python da Lokdown 2020).
    La soluzione :

    Nella "def" dove creo la finestra e dichiaro la Enrty :
    global txtNome #<<<<<<<-- (soluzione)
    txtNome = Entry(widw.grupp,textvariable=nom, bg="lavender",width=15)
    Nella "def" chiamata dal pulsante :
    varNom = txtNome.get() ## OK

    Grazie comunque della vostra attenzione
Devi accedere o registrarti per scrivere nel forum
2 risposte