Forum
>>
Programmazione Python
>>
GUI
>>
Entry non funziona
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Niccolo Bartolacelli |
2020-06-06 11:50:34 - Entry non funziona
|
Buongiorno a tutti,
Sono ancora io che, ovviamente, ho un problema elementare che non riesco a risolvere Ho creato un semplice programma di prova con 2 Label, 2 Entry, 1 Button, 1 messagebox (showwarning). All'avvio del programma viene segnalato un avvuso (voluto appositamente) e, quando si clicca su OK, si vede il programma normale. Il problema è che, finché non si riduce a icona la finestra (anche dentro al programma con root.lower) non è possibile scrivere niente dentro alle entry (anche se il bottone funziona). Io credo di stare impazzendo Grazie a tutti! |
|
Scritto da Daniele aka Palmux |
2020-06-06 14:27:30 - Re: Entry non funziona
|
Ciao, prova a postare un po' di codice e ci ragioniamo insieme, aggiungendo anche tutte le informazioni del caso, come la versione del linguaggio, della libreria, l'ambiente di sviluppo, etc... etc...
Cya |
|
Scritto da Niccolo Bartolacelli |
2020-06-07 13:13:18 - Re: Entry non funziona
|
Ciao Daniele,
Grazie per la risposta! In effetti non mi ero spiegato benissimo nell'altro messaggio: io lavoro su windows 10, ho python 3.7.7 e uso tkinter come supporto grafico. Il programma dovrebbe essere una finestra di login che si apre nel caso in cui si verifichino errori durante il precedente login. Tecnicamente non ci sono errori riconosciuti dall'interprete, quindi non capisco dove sbaglio: quando eseguo il programma (sia da riga di comando che da IDE (ho provato con IDLE, PyCharm e Thonny)) viene visualizzato tutto correttamente ma, dopo che appare il popup di avviso e clicco su OK, non riesco ad inserire nulla nelle entry (a meno che, come anticipato nell'altro messaggio, io riduca a icona la finestra e torni ad ingrandirla). (Nel codice qui sotto non ho inserito la parte del parsing del database per non appesantirlo e perché ho notato che, anche rimuovendo quella parte, il problema persiste. Ho utilizzato la forma contratta inst=constructor(**args).method() per abbreviare il codice, anche se nel programma originale uso una forma estesa). Grazie in anticipo Buona giornata Niccolò import tkinter from tkinter.messagebox import showwarning root = tkinter.Tk() root.title("Login Erorr") showwarning("Login Error", "Pixel Paint crashed last time it runs.\nPlease insert your Username and Password") usr_label = tkinter.Label(root, text="Username: ").grid(row=1, column=1) usr_entry = tkinter.Entry(root).grid(row=1, column=2) pwd_label = tkinter.Label(root, text="Password: ").grid(row=2, column=1) pwd_entry = tkinter.Entry(root).grid(row=2, column=2) submit_button = tkinter.Button(root, text="Login", command=submit_user).grid(row=3, column=2) if __name__ == "__main__": root.mainloop() In effetti avrei potuto usare c++ dal momento che il programma principale è in c++ ma, per velocizzare lo sviluppo, semplificare l'accesso ai database e dal momento che non avevo esigenze grafiche particolari ho deciso di utilizzare python (anche perché per i miei scopi mi sembrava il più adatto, vista anche la compatibilità con c++) --- Ultima modifica di Il Linuxino in data 2020-06-07 13:17:18 --- --- Ultima modifica di Il Linuxino in data 2020-06-07 14:30:46 --- |
|
Scritto da Daniele aka Palmux |
2020-06-08 12:32:38 - Re: Entry non funziona
|
Ciao di nuovo, ho provato il tuo codice al volo e non capisco cosa non vada, fa esattamente quello che vuoi che faccia, cioè le Entry accettano l'input degli utenti.
Ovviamente lo script restituisce un errore sull'assenza di submit_user che credo tu abbia omesso per comodità, ma il resto funziona. Forse non ho capito bene il problema a questo punto, fai sapere cosa ho mal interpretato. Cya |
|
Scritto da Niccolo Bartolacelli |
2020-06-08 12:58:15 - Re: Entry non funziona
|
Ancora ciao,
Grazie per la risposta, ho ritentato più volte apportando piccole modifiche al codice ma il problema persiste. L'unica soluzione che ho trovato finora è stata quella di eliminare il showwarning(), che però mi sembra la parte più importante del programma. Non so proprio cosa fare... Ricordo che mi era capitato un problema analogo in un altro programma (python 3.8.2 e un altro computer win10) un po' di tempo fa e mi era bastato aggiungere una riga root.lower()e si era risolto il problema (cosa che mi appare comunque abbastanza strana perché con quella riga si sarebbe dovuta ridurre a icona la finestra, cosa che non accadeva), ma stavolta non funziona. O meglio, funziona ma la finestra si rimpicciolisce e non è quello che voglio Ti ringrazio ancora per l'aiuto (comunque sì, submit user avrebbe dovuto occupare molte altre righe quindi non l'ho inserita) --- Ultima modifica di Il Linuxino in data 2020-06-08 12:59:06 --- |
Pagina: 1
Esegui il login per scrivere una risposta.