Sto cercando di cancellare il widget Entry
dopo che l'utente ha premuto un pulsante utilizzando Tkinter.Come cancellare il widget Entry dopo aver premuto un pulsante in Tkinter?
Ho provato a utilizzare ent.delete(0, END)
, ma ho ricevuto un errore che diceva che le stringhe non hanno l'attributo elimina.
Ecco il mio codice, dove sto errore di salire sul real.delete(0, END)
:
secret = randrange(1,100)
print(secret)
def res(real, secret):
if secret==eval(real):
showinfo(message='that is right!')
real.delete(0, END)
def guess():
ge = Tk()
ge.title('guessing game')
Label(ge, text="what is your guess:").pack(side=TOP)
ent = Entry(ge)
ent.pack(side=TOP)
btn=Button(ge, text="Enter", command=lambda: res(ent.get(),secret))
btn.pack(side=LEFT)
ge.mainloop()
È possibile fornire l'argomento END (o "end") anziché calcolare la lunghezza dei dati. Dal momento che hai detto che non funzionava ma non definisci "non ha funzionato" (cioè: hai ricevuto un errore, o l'ha fatto fallire in modo silenzioso?), Suppongo che tu abbia usato una "FINE" non qualificata. Prova invece "Tkinter.END". Quando lo uso nel codice sopra funziona perfettamente. –
@Bryan: Ah, ho appena usato END, non Tkinter.FINE (il tutorial usato 'da ... import' invece di importare). Grazie! La correzione è nel codice. – GreenMatt
Voglio che il pulsante esegua 2 azioni contemporaneamente. il primo è quello di eseguire un'azione casuale e il secondo è quello di cancellare la voce – Dan