我一直在尝试将回调绑定到菜单项选择,而不是使用add\u命令方法的command=功能。在
然而,不管我做什么,它似乎只会给我一个正确的索引菜单项(“菜单1”和“菜单2”),当他们被选中时,而不是菜单按钮的索引。当按下按钮时,将不打印任何内容。在
这是我当前的测试代码,但我已经尝试了很多不同的东西。在import tkinter as tk
def menucallback(event):
print(root.call(event.widget, "index", "active"))
root = tk.Tk()
# create menu
menubar = tk.Menu(root)
menu1 = tk.Menu(menubar, tearoff=0)
menu1.add_command(label="Button 1")
menu1.add_command(label="Button 2")
menubar.add_cascade(label="Menu 1", menu=menu1)
menu2 = tk.Menu(menubar, tearoff=0)
menu2.add_command(label="Button 6")
menu2.add_command(label="Button 7")
menubar.add_cascade(label="Menu 2", menu=menu2)
tk.Tk.config(root, menu=menubar)
# bind to function
menubar.bind("<>", menucallback)
root.mainloop()
如果有关系的话,我使用的是Windows7和Python3.4