响应菜单事件,并不用bind方法,而是用command,但是command不能设置事件类型,只是普通的事件触发
import tkinter
def pop(event):
menubar.post(event.x_root, event.y_root)#Menu类里面有一个post方法,把munu显示出来,它接收两个参数,即x和y坐标,它会在相应的位置弹出菜单。
def display(): #可以不带event
tkinter.Label(root, text = "I like python").pack()
root = tkinter.Tk()
menubar = tkinter.Menu(root)
for item in ["vb","c++","java"]:
menubar.add_command(label = item)
menubar.add_command(label = "python", command = display) #组件生成的时候用add_conmmand,这个属性进行事件绑定,相应display
root.bind("<Button-3>",pop) #-3表示相应的是鼠标右击
root.mainloop()