Python 带有点击事件的 Tinter 下拉菜单命令

Python Tinter dropdown menu command with click event

我有一个使用此代码创建的 TKinter 下拉菜单:

#menu
menu = Menu(window)
window.config(menu = menu)
subMenu = Menu(menu)

menu.add_cascade(label = "Kies een ander station", menu = subMenu)
subMenu.add_command(label = "Amersfoort", command = print('test'))
subMenu.add_separator()
subMenu.add_command(label = "Amsterdam Centraal", command = print('test2'))
subMenu.add_separator()
#etc..

当我编译和运行时,每个subMenu.add_command()函数的command属性中的代码立即被执行。我想在单击菜单项时实现此目的。我该怎么做?

将它们放入 lambda 表达式中。这将使表达式成为可调用对象,在执行之前耐心等待事件发生。

subMenu.add_command(label = "Amersfoort", command = lambda: print('test'))
subMenu.add_separator()
subMenu.add_command(label = "Amsterdam Centraal", command = lambda: print('test2'))