Python Tkinter menubar似乎并不关注macOS

Python Tkinter menubar似乎并不关注macOS,python,macos,tkinter,tkinter-menu,Python,Macos,Tkinter,Tkinter Menu,我使用带有顶级菜单栏的堆叠框架。菜单确实按预期显示。但是,我必须将焦点切换到别处,然后再切换回来,以便菜单栏与活动帧一起聚焦。从那以后,菜单栏工作得很好 class App(tk.Tk): def __init__(self, *args, **kwargs): tk.Tk.__init__(self, *args, **kwargs) container = tk.Frame(self) self.

我使用带有顶级菜单栏的堆叠框架。菜单确实按预期显示。但是,我必须将焦点切换到别处,然后再切换回来,以便菜单栏与活动帧一起聚焦。从那以后,菜单栏工作得很好

    class App(tk.Tk):
        def __init__(self, *args, **kwargs):
            tk.Tk.__init__(self, *args, **kwargs)
            container = tk.Frame(self)
            self.winfo_toplevel().title("Sample App")
            self.config(takefocus='true')
            self.resizable(width=False, height=False)
            self.maxsize(800, 600)
            self.minsize(800, 600)
            container.pack(side="left", fill="y", expand = True)
            container.grid_rowconfigure(0, weight=1)
            container.grid_columnconfigure(0, weight=1)
            menubar = tk.Menu(self)

            filemenu = tk.Menu(menubar, tearoff=0)
            menubar.add_cascade(label ='File', menu=filemenu)
            filemenu.add_command(label="Login", command=lambda:self.show_frame(Login))
            filemenu.add_command(label="Logout", command=self.destroy)
            filemenu.add_separator() 
            filemenu.add_command(label="Exit", command=self.destroy)
                
            help_ = tk.Menu(menubar, tearoff = 0) 
            menubar.add_cascade(label ='Help', menu = help_) 
            help_.add_command(label ='Tk Help', command = None) 
            help_.add_command(label ='Demo', command = None) 
            help_.add_separator()
            help_.add_command(label ='About Tk', command = None) 
        
            self.config(menu=menubar)
        
            self.frames = {}

            for F in (Start, Page1, Page2):
                frame = F(container, self)
                self.frames[F] = frame
                frame.grid(row=0, column=10, sticky="nsew")

            self.show_frame(Start)
            if platform() == 'Darwin':    # How Mac OS X is identified by Python
                system('''/usr/bin/osascript -e 'tell app "Finder" to set frontmost of process "python" to true' ''')
                self.focus_force()

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

这是OSX上的一个已知错误。谢谢,因为它在Windows设备上工作,所以我也这么认为,但找不到它的错误参考。