【发布时间】:2015-10-14 18:04:11
【问题描述】:
我一直在尝试将回调绑定到菜单项选择,而不是使用 add_command 方法的 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("<<MenuSelect>>", menucallback)
root.mainloop()
以防万一,我使用的是 Windows 7 和 Python 3.4
【问题讨论】:
标签: python python-3.x tkinter python-3.4