组件描述
该组件为菜单组件,可与系统进行互动。
程序实现
代码
import tkinter as tk
root = tk.Tk()
# 创建顶部菜单组件
menubar = tk.Menu(root)
# 设置动作
def callback_open():
print('open')
def callback_save():
print('save')
def callback_return():
print('return')
# 创建‘文件’菜单
filemenu = tk.Menu(menubar, tearoff=False) # tearoff参数默认为true,菜单可以移动
menubar.add_cascade(label='文件', menu=filemenu) # 设置为级联菜单
filemenu.add_command(label='打开', command=callback_open) # 添加下级菜单
filemenu.add_command(label='保存', command=callback_save)
filemenu.add_separator() # 添加分割线
filemenu.add_cascade(label='文件', command=root.quit)
# 创建‘文件’菜单
editmenu = tk.Menu(menubar, tearoff=False)
menubar.add_cascade(label='编辑', menu=editmenu)
editmenu.add_command(label='拷贝', command=callback_open)
editmenu.add_command(label='粘贴', command=callback_save)
editmenu.add_cascade(label='剪切', command=root.quit)
# 创建右键显示菜单组件
menu_right = tk.Menu(root, tearoff=False)
menu_right.add_command(label='撤销', command=callback_return)
menu_right.add_command(label='重启', command= root.quit)
# 弹出右键点击菜单
def popup(event):
menu_right.post(event.x_root, event.y_root)
# 绑定右键点击事件
root.bind('<Button-3>', popup)
# 将创建的menubar菜单关联到窗口的顶部
root.config(menu=menubar)
tk.mainloop()