def generate_menu(self):
self.some_menu = tk.Menu(self.menubar, tearoff=0)
self.menubar.add_cascade(label="Some Label", menu=self.some_menu)
some_directory = SCRIPT_ROOT + "/" + SOME_FOLDER
for filename in os.listdir(some_directory):
test_file = (test_directory + "/" + filename)
print(test_file)
self.some_menu.add_command(label=filename, command=lambda: self.files.add_files(test_file))
此代码生成一个菜单项,其下拉列表包含:
等等。
每个文件选项都应该有一个单独的命令调用相同的函数,但使用不同的参数。
self.files.add_files(<argument should be based on iteration of for loop)
发生的事情是每个文件选项实际上都使用文件3的命令(或下拉列表中的最后一个文件)。
某处有逻辑错误 - 你能发现它吗?