Как очистить tk.Entry
Я видел способ entry.delete(0, 'end') но мне почему то постоянно пишет _tkinter.TclError: bad text index "1" и не важно что я туда напишу. Любой другой индекс или к примеру 'first' он всегда выдаёт эту ошибку
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
Текст ошибки
bad text index "1"
говорит о том, что у вас не Entry а Text (для Entry аналогичная ошибка звучит как bad entry index "1.0").
Для Text индексы должны быть формата номер_строки.номер_колонки (причем номер строки считается с 1, а номер колонки с 0) - в виде числа с плавающей точкой, например 1.0 (но не целого числа 1), или в виде строки "1.0".
Рабочий пример:
from tkinter import *
root = Tk()
entry = Entry()
entry.pack()
def clear_entry():
entry.delete(0, END) # Удалить все, начиная с 0-го символа до конца
Button(text="Clear Entry", command=clear_entry).pack()
text = Text()
text.pack()
def clear_text():
text.delete(1.0, END) # Удалить все, начиная с 0-го символа 1-й строки до конца
Button(text="Clear Text", command=clear_text).pack()
root.mainloop()