非级联类型的菜单栏项目在 Mac OSX 的 Tkinter 上不起作用
Posted
技术标签:
【中文标题】非级联类型的菜单栏项目在 Mac OSX 的 Tkinter 上不起作用【英文标题】:Non-cascade type menubar items not working on Tkinter with Mac OSX 【发布时间】:2016-02-03 16:34:37 【问题描述】:我遇到了我认为可能是一个错误,每当我尝试在 mac 上的 tkinter 中创建菜单栏 (Menu
) 时,任何非级联类型的菜单项 - 即 menu.add_command
而不是menu.add_cascade
-- 似乎不起作用。
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不支持菜单栏上的非级联类型的菜单项?
【问题讨论】:
【参考方案1】:你是对的:你不能在 OSX 的菜单栏中添加命令。没有解决方法。从可用性的角度来看,这是一个坏主意,因此 OSX 禁止这样做。
【讨论】:
我认为是这种情况。你不能这样做是有道理的,但我知道你可以在 Windows 中,所以我想我会检查一下。谢谢。以上是关于非级联类型的菜单栏项目在 Mac OSX 的 Tkinter 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章