Я пытаюсь добавить элементы в список, используя питонов tkinter в качестве графического интерфейса. Пользователь может выбрать количество значений, которые он хотел бы ввести, и программа должна сохранить эти элементы отдельно в том же списке. В настоящее время программа добавляет только последнее значение, введенное пользователем в список. Например, в настоящее время, если пользователь выбирает ввести 2 значения, только второе значение добавляется в список. Я отправил мой точный код ниже. Буду признателен, если кто-нибудь укажет мне правильное направление.
def multiple_chords_num():
global num_chords_screen
num_chords_screen = tk.Toplevel(root)
num_chords_screen.grab_set()
# geometry
center_screen(300, 250, num_chords_screen)
# other screen settings
num_chords_screen.title('Transposition Tool')
num_chords_screen.resizable(width = False, height = False)
tk.Label(num_chords_screen,text = '\n\nHow Many Chords Would you like to Transpose?\n').pack()
num=tk.Entry(num_chords_screen)
num.pack()#pevents from object returning 'None'
tk.Label(num_chords_screen,text = '').pack()
ttk.Button(num_chords_screen, text = 'OK', command = lambda: multiple_chords(num)).pack(ipadx = 10, ipady = 1)
def multiple_chords(num):
global multiple_chords_screen
multiple_chords_screen = tk.Toplevel(root)
multiple_chords_screen.grab_set()
# geometry
center_screen(300, 250, multiple_chords_screen)
# other screen settings
multiple_chords_screen.title('Transposition Tool')
multiple_chords_screen.resizable(width = False, height = False)
num=int(num.get())#obtains num value and turns it into integer
for i in range(0,num):
tk.Label(multiple_chords_screen,text = 'Enter Chord:').pack()
chord=tk.Entry(multiple_chords_screen)
chord.pack()#Prevents 'chord' from returning None
ttk.Button(multiple_chords_screen, text = 'OK', command =lambda : a(chord.get(),num)).pack(ipadx = 10, ipady = 1)
def a(chord):
u_list.append(chord)
print(u_list)