Поскольку вы упомянули, что создали свои записи так же, как пытаетесь их очистить, я предполагаю, что вы делаете что-то вроде:
a= 5
e = []
for i in range (1,a+1):
entrylength_i = tk.Entry(root)
entrylength_i.grid(row=i,column=0)
e.append(entrylength_i)
print (e)
Результат:
[<tkinter.Entry object .!entry>, <tkinter.Entry object .!entry2>, ...]
В цикле for
вы снова и снова используете имя переменной entrylength_i
(вместо entrylength_1
, entrylength_2
...). Это работает, потому что вы создаете новый объект в каждой итерации.
Но когда вы пытаетесь удалить их, используя ту же технику:
for i in range (1,a+1):
entrylength_i.delete(0, "end")
Переменная entrylength_i
указывает только на последний определенный объект, поэтому очищается только последний.
Поэтому правильный способ очистить все записи - это перебирать объекты в вашем списке e
:
for entry in e:
entry.delete(0, "end")