J'essaie d'effacer le widget Entry
après que l'utilisateur appuie sur un bouton en utilisant Tkinter.Comment effacer le widget Entrée après avoir appuyé sur un bouton dans Tkinter?
J'ai essayé d'utiliser ent.delete(0, END)
, mais j'ai reçu une erreur disant que les chaînes n'ont pas l'attribut supprimer.
Voici mon code, où je reçois erreur sur 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()
Vous pouvez fournir l'argument END (ou "end") au lieu de calculer la longueur des données. Puisque vous dites que cela n'a pas fonctionné mais que vous ne définissez pas "ne fonctionne pas" (par exemple: avez-vous eu une erreur ou avez-vous échoué silencieusement?), Je suppose que vous avez utilisé un "END" non qualifié. Essayez plutôt "Tkinter.END". Lorsque je l'utilise dans le code ci-dessus, cela fonctionne très bien. –
@Brian: Ah, je viens d'utiliser END, pas Tkinter.END (le tutoriel utilisait 'from ... import' au lieu de simplement importer). Merci! Le correctif est dans le code. – GreenMatt
Je veux que le bouton effectue 2 actions en même temps. le premier est d'effectuer une action aléatoire et le 2ème est d'effacer l'entrée – Dan