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

时间:2015-10-29 14:08:09

标签: python tkinter pycharm

我有一个使用此代码创建的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..

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

1 个答案:

答案 0 :(得分:1)

把它们放在lambda中。这将使表达式变为callables,耐心地等待事件在执行之前发生。

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