Я хочу создать напоминание, чтобы напомнить мне о времени, которое я выбрал в поле со списком, нажав подтвержденную кнопку. Я помещаю время в метку, а также создаю кнопку удаления, которая может удалить ярлык и кнопку в одной строке с помощью цикла. Он работает, если есть только один ярлык, но если я увеличил его количество, он может уничтожить только последнюю метку и кнопку.Tkinter destroy button create by loop
ниже мой код:
class final:
def __init__(self,app):
self.savelist=[]
self.time= StringVar()
self.timecombo = ttk.Combobox(app,textvariable=self.time)
self.timecombo.grid(row=0,column=1)
self.timecombo.config(value =('1:00','2:00','3:00','4:00','5:00','6:00','7:00','8:00','9:00','10:00','11:00','12:00'))
self.button1=Button(app,text='confirmed',command=self.save)
self.button1.grid(row=3,column=2)
***def save(self):
savetext = self.time.get()
self.savelist.append(savetext)
self.deletebutton_list = []
self.savelabel_list = []
for i in range(len(self.savelist)):
savelabel = Label(app, text=self.savelist[i])
savelabel.grid(row=4 + i, column=0)
self.savelabel_list.append((savelabel))
deletebutton = Button(app, text='delete' , command=functools.partial(self.deletelabel,idx=i))
deletebutton.grid(row=4 + i, column=1)
self.deletebutton_list.append(deletebutton)
def deletelabel(self, idx):
self.savelabel_list[idx].destroy()
self.deletebutton_list[idx].destroy()
self.savelist.remove(self.savelist[idx])
self.savelabel_list.remove(self.savelabel_list[idx])
self.deletebutton_list.remove(self.deletebutton_list[idx])***
app = Tk()
a = final(app)
app.title('things to do')
app.geometry("500x300+200+200")
app.mainloop()
Я считал, что должно быть что-то не так в цикле или функцию deletelabel, но я до сих пор не могу это исправить.
спасибо за ваш ответ, но даже если я удалить столбец вы рекомендуемые, я до сих пор не могу достичь своей цели, и я не знаю, как клеть и сетки новой метки времени только, так Я новичок в python. Не могли бы вы написать код для меня? спасибо. –
, и я думаю, что я уже решил проблему, о которой вы упоминали, используя functools.partial, потому что я могу увидеть правильный порядок метки/кнопки в списке после того, как я нажму. –