tkinter top-level macOS 不显示菜单

tkinter top-level menues not showing with macOS

这是来自 effbot 的经典代码,其中告知:

顶层菜单显示在根目录或任何其他顶层的标题栏正下方 windows(或者在 Macintosh 上,沿着屏幕的上边缘)。要创建顶级菜单,请创建一个新的 Menu 实例,然后使用 add 方法向其添加命令和其他菜单条目。

但不工作,找不到菜单。我希望在 python 的右侧有 WelcomeQuit。有什么遗漏吗?

系统信息

import tkinter as tk

def hello():
    print('Hi~')

root = tk.Tk()
root.title("MacOS Catalina")
menubar  = tk.Menu(root)
root.configure(menu=menubar)
menubar.add_command(label='Welcome', command=hello)
menubar.add_command(label='Quit', command=root.quit)
root.mainloop()

在 OSX 上,您不能将命令放在根菜单上。苹果根本不允许。您只能放置其他菜单(级联)。例如:

...
menubar  = tk.Menu(root)
root.configure(menu=menubar)

menu = tk.Menu(menubar)
menu.add_command(label="Welcome", command=hello)
menu.add_command(label="Quit", command=root.quit)
menubar.add_cascade(label="My Menu", menu=menu)