У меня есть функция, которая создает кнопки на основе подпапок в папке.Он создает кнопку для каждой подпапки и дает ей имя подпапки.
При нажатии я хочу, чтобы кнопка открыла другую функцию и передала этой функции ее имя.
def _sidepanel(self):
curdir = "/Users/xxx/Desktop/Test/"
layout = BoxLayout(orientation="vertical", pos_hint={"x": 0.0, "y": 0.0}, size_hint=(0.1,1))
for folders in glob(join(curdir, "*")):
name = basename(folders)
btn = Button(text=name, on_press=lambda x: self._printname(name))
layout.add_widget(btn)
return layout
def _printname(self, name):
print(name)
У меня есть 5 подпапок, и я ожидаю, что кнопка напечатает ее конкретное имя, но вместо этого все они печатают имя последней папки, запущенной первой функцией.