Вам необходимо указать лямбду в привязке, где вы звоните add_new
, иначе привязка не будет работать при срабатывании, как вы думаете.
Вот пример использования лямбды:
import tkinter as tk
root = tk.Tk()
buttons = []
def add_new(folder, paths):
print(folder, paths)
def make_buttons(folders, path, paths):
for folder in folders:
buttons.append(tk.Button(root, text=folder))
buttons[-1].pack()
buttons[-1].bind("<Button-1>", lambda e, f=folder: add_new(f, paths))
make_buttons(['folder1', 'folder2', 'folder3'], r'C:\Users\Desktop', [r'C:\Users\p1', r'C:\Users\p2' , r'C:\Users\p3'])
root.mainloop()