Python 非级联型菜单栏项在带有Mac OSX的Tkinter上不起作用

Python 非级联型菜单栏项在带有Mac OSX的Tkinter上不起作用,python,macos,python-3.x,tkinter,menubar,Python,Macos,Python 3.x,Tkinter,Menubar,我遇到了一个我认为可能是错误的地方,每当我试图在mac上的tkinter中创建菜单栏(菜单),任何非级联类型的菜单项——也就是说,菜单。添加命令而不是菜单。添加级联——看起来都不起作用 import tkinter as tk def callback(): print("Hello World") root = tk.Tk() menu = tk.Menu(root) # Adding cascade menu2 = tk.Menu(menu, tearoff=0) menu2

我遇到了一个我认为可能是错误的地方,每当我试图在mac上的tkinter中创建菜单栏(
菜单
),任何非级联类型的菜单项——也就是说,
菜单。添加命令
而不是
菜单。添加级联
——看起来都不起作用

import tkinter as tk

def callback():
    print("Hello World")

root = tk.Tk()

menu = tk.Menu(root)

# Adding cascade
menu2 = tk.Menu(menu, tearoff=0)
menu2.add_command(label="CascadeItem", command=callback)
menu.add_cascade(menu=menu2, label="Cascade")

# Adding non-cascade
menu.add_command(label="NonCascade", command=callback)

root.config(menu=menu)

root.mainloop()
当我运行前面的代码时,我可以看到“Cascade”菜单项,但看不到“NonCascade”菜单项


我有什么地方做错了吗?这是某种类型的错误吗?或者mac不支持菜单栏上的非级联型菜单项?

您是正确的:您不能在OSX上向菜单栏添加命令。没有解决办法。从可用性的角度来看,这是一个坏主意,所以OSX禁止它。

你是对的:你不能在OSX上的菜单栏中添加命令。没有解决办法。从可用性的角度来看,这是一个坏主意,所以OSX禁止它。

我认为是这样的。你不能这样做是有道理的,但我知道你可以在windows中这样做,所以我想我会检查一下。谢谢,我以为是这样的。你不能这样做是有道理的,但我知道你可以在windows中这样做,所以我想我会检查一下。谢谢