Tkinter菜单未级联(Mac OSX)

时间:2018-07-14 11:19:00

标签: python-3.x tkinter tkinter-menu

我的菜单显示在应用程序页面上,只是没有级联。 我尝试了没有subMenu对象的情况,但没有成功(就像在原始教程中一样)。当我单击它们时,python和apple菜单和图标也不会执行任何操作(完全无效)。

它基本上是一个基于SeaofBTCapp教程(Sentdex)构建的应用程序,并且可以切换到多个页面。

class SeaofStats(tk.Tk):

    def __init__(self, *args, **kwargs):
        tk.Tk.__init__(self, *args, **kwargs)

        #tk.Tk.wm_title(self, "Sea of Stats Client")

        container = tk.Frame(self)
        container.pack(side="top", fill="both", expand=True)
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)

        # create a pulldown menu, and add it to the menu bar
        filemenu = tk.Menu(container, tearoff=0)
        tk.Tk.config(self, menu=filemenu)
        subMenu = tk.Menu(filemenu)
        filemenu.add_cascade(label="File", menu=subMenu)
        subMenu.add_command(label="Open", command = lambda: popupmsg("Not supported yet"))
        subMenu.add_command(label="Save", command = lambda: popupmsg("Not supported yet"))
        #filemenu.add_command(label="Save Settings", command = lambda: popupmsg("Not supported yet"))
        subMenu.add_separator()
        subMenu.add_command(label="Exit", command=quit)


        self.frames = {}

        for F in (StartPage, PageOne, PageTwo, PageThree):
            frame = F(container, self)
            self.frames[F] = frame
            frame.grid(row=0, column=0, sticky="nsew")


        self.show_frame(StartPage)

    def show_frame(self, cont):
        frame = self.frames[cont]
        frame.tkraise()

0 个答案:

没有答案