I want to bind specific entry and create more entry under the specific entry which I clicked enter. However, It only binds the last one even I want to bind the first. How can I change this code? I guess I can't use getattr in tkinter
from tkinter import *
class Main(Frame):
def __init__(self, master=None):
super().__init__()
self.window = master
"schedule list"
self.sche_list = [[""],[""],[""],[""],]
self.sche_len = []
self.sche_nm = []
self.__setwindow__()
def __setwindow__(self):
pack_list = self.window.winfo_children()
for item in pack_list:
item.pack_forget()
self.window.geometry("300x500")
self.title = Label(text="오늘 할일을 작성하시오.")
self.title.pack()
self.sche_len = [len(self.sche_list[0]),len(self.sche_list[1]),
len(self.sche_list[2]),len(self.sche_list[3])]
self.sche_nm = ['0~6시', '6~12시', '12~18시', '18~24']
for sc, nm in zip(self.sche_len, self.sche_nm):
print(sc)
self.sub_title = Label(text=nm)
self.sub_title.pack()
for i in range(sc):
self.sche_entry = Entry()
self.sche_entry.pack()
self.sche_entry.bind('<Return>',lambda x: self.__update__(nm))
self.submit = Button(text='완료')
self.submit.pack()
def __update__(self, nm):
pos = self.sche_nm.index(nm)
self.sche_list[pos].append('""')
self.__setwindow__()
ob = Tk()
Main(master = ob)
ob.mainloop()