GUI tkinter (Menu) -弹出菜单
弹出菜单
1.弹出菜单又叫“上下文菜单”,也叫“右键菜单”,它通常是鼠标单击右键产生的菜单,因此会有“右键菜单” 的说法。
2.建立思路:我们先新建一个菜单,然后向菜单项中添加各种功能,最后我们监听鼠标右键消息,如果是鼠标右键被单 击,此时可以根据需要判断下鼠标位置来确定是哪个弹出菜单被弹出,然后使用 Menu 类的 pop 方法来弹出菜单。
3.Menu 类里面有一个 post 方法,它接收两个参数,即 x 和 y 坐标,它会在相应的位置弹出菜单。
示例代码
from tkinter import *
def test(): # 定义菜单鼠标单击事件回调函数
global root
Label(root,text = "I'm a monster").pack()
root = Tk()
menubar = Menu(root)
# 添加子菜单名
for x in ['A','B','C','D']:
menubar.add_command(label = x)
menubar.add_command(label = 'E',command = test)
# 插入分割线
# 插入分割线和插入正常的菜单项操作很相似,只是使用的方法是 add_separator,该方法无需参数。
menubar.add_separator()
def pop(event):
menubar.post(event.x_root,event.y_root)
root.bind("<Button-3>",pop)
root.mainloop()
运行结果
正是江南好风景