from tkinter import *
from tkinter import messagebox

class Application(Frame):

    def __init__(self,master=None):
        # Frame是父类,得主动的调用父类 的构造器
        super().__init__(master)   # super() 代表的是父类的定义,而不是父类的对象
        self.master = master
        self.pack()
        self.createWidget()

    def createWidget(self):
# 创建主菜单栏
        menubar = Menu(root)
# 创建子菜单
        meanFile = Menu(menubar)
        meanEdit = Menu(menubar)
        meanHelp = Menu(menubar)
# 给每一个子菜单起一个名字
        menubar.add_cascade(label="文件",menu=meanFile)
        menubar.add_cascade(label="编辑",menu=meanEdit)
        menubar.add_cascade(label="帮助",menu=meanHelp)
# 给文件子菜单下面添加子菜单
        meanFile.add_command(label="新建",accelerator ="ctral+l",command=self.test)
        meanFile.add_command(label="打开",accelerator ="ctral+l",command=self.test)
        meanFile.add_command(label="保存",accelerator ="ctral+l",command=self.test)
        meanFile.add_separator()  # 添加分割线
        meanFile.add_command(label="退出",accelerator ="ctral+l",command=self.test)
# 将主菜单放到根窗口
        root["menu"]=menubar
        
    def test(self):
        pass
root = Tk()
root.geometry("400x200+200+300")
root.title("测试")
app = Application(master = root)

root.mainloop()


    # 创建上下文菜单
        self.contextMenu = Menu(root)
        self.contextMenu.add_command(label="hh",command = self.test)

    # 为右键绑定事件
        root.bind("<Button-3>",self.creater)


    def test(self):
        pass
    def creater(self,event):
        self.contextMenu.post(event.x_root,event.y_root)