Python 非级联型菜单栏项在带有Mac OSX的Tkinter上不起作用
我遇到了一个我认为可能是错误的地方,每当我试图在mac上的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
菜单
),任何非级联类型的菜单项——也就是说,菜单。添加命令
而不是菜单。添加级联
——看起来都不起作用
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中这样做,所以我想我会检查一下。谢谢