1. 弹出菜单⼜叫“上下⽂菜单”,也叫“右键菜单”,它通常是⿏标单击右键产⽣的菜单,因此也称“右键菜单” 的。
2. 很多界⾯库⾥⾯都是给出了弹出菜单的简单的制作⽅法的,但是 tkinter ⾥⾯我们却只能使⽤⽐较原始的事件绑定的⽅式去做。
3. ⼤体思路就是:我们先新建⼀个菜单,然后向菜单项中添加各种功能,最后我们监听⿏标右键消息,如果是⿏标 右键被单击,此时可以根据需要判断下⿏标位置来确定是哪个弹出菜单被弹出,然后使⽤ Menu 类的 pop ⽅法来弹出 菜单。
4.Menu 类⾥⾯有⼀个 post ⽅法,它接收两个参数,即 x 和 y 坐标,它会在相应的位置弹出菜单。
5. ⽤ bind ⽅法来绑定事件,⽽且要记得⿏标右键是⽤的 <Button-3>
测试代码如下:
from tkinterimport *
def PopMethod():
global wnd
Label(wnd, text='I Love Python').pack()
def pop(event):
menuBar.post(event.x_root, event.y_root)
wnd = Tk()
menuBar = Menu(wnd)
for itemin ["C", "C++", "Java", "C#", "PHP", "JavaScript", "SQL"]:
menuBar.add_command(label=item)
menuBar.add_command(label="Python", command=PopMethod)
wnd.bind("<Button-3>", pop)# 鼠标右击绑定
wnd.mainloop()
效果如下:
单击右键
针对Python的菜单有独立添加事件,如果在点击Python,就会触发弹出菜单的事件,如下图