Я пытаюсь очистить виджет Entry
после того, как пользователь нажал кнопку с помощью Tkinter.Как очистить виджет ввода после нажатия кнопки в Tkinter?
Я пробовал использовать ent.delete(0, END)
, но я получил ошибку, говоря, что строки не имеют атрибута delete.
Вот мой код, где я получаю сообщение об ошибке на 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()
Вы можете указать аргумент END (или «конец») вместо вычисления длины данных. Поскольку вы говорите, что это не сработало, но не определило, что «не работает» (т. Е. Вы получили сообщение об ошибке, или это тихо провалилось?), Я предполагаю, что вы использовали неквалифицированный «КОНЕЦ». Вместо этого попробуйте «Tkinter.END». Когда я использую это в приведенном выше коде, он работает нормально. –
@Bryan: Ах, я просто использовал END, а не Tkinter.END (учебник использовал 'from ... import' вместо импорта). Благодаря! Исправление находится в коде. – GreenMatt
Я хочу, чтобы кнопка выполняла 2 действия одновременно. первый должен выполнить случайное действие, а второй - очистить запись – Dan