使用 TkInter 在 Python 中创建菜单时出错。我究竟做错了什么?

Error while creating a menu in Python using TkInter. What am I doing wrong?

我在 Python 中使用 Tkinter 创建菜单时遇到错误。我究竟做错了什么?我的代码和完整的错误回溯如下。

我的代码:

from tkinter import *
    
    
root = Tk()
root.title("FoodU")
root.geometry("1600x2560+0+0")


#main BEGIN
    
main = Frame(root, bg="light coral")
main.pack(fill=BOTH)
    
#main END
    
    
#navigation BEGIN
    
navigation = Frame(main, bg="floral white")
navigation.grid(padx=20)
    
    
nav = Menu(navigation)
navigation.config(menu=nav)
    
    
navcuisine = Menu(nav)
nav.add_casacde(label="Cuisines", menu=navcuisine)
navcuisine.add_command(label="Indian")
navcuisine.add_command(label="Chinese")
navcuisine.add_command(label="Japanese")
navcuisine.add_command(label="Italian")
navcuisine.add_command(label="Thai")
    
    
#navigation END
    
root.mainloop()

错误:

Traceback (most recent call last):
  File <file path>, line 52, in <module>
    navigation.config(menu=nav)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py", line 1482, in configure
    return self._configure('configure', cnf, kw)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/__init__.py", line 1473, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option "-menu"

这个错误是什么意思?我做错了什么,我该如何解决?

非常感谢!!

navigation = Frame(main, bg="floral white")
navigation.grid(padx=20)


nav = Menu(navigation)
navigation.config(menu=nav)

这是个问题。框架对象不支持 menu 配置选项。据我所知,只有 Toplevel 小部件允许 menu。一种可能的解决方案是将 nav 设为 root 的菜单。

nav = Menu(root)
root.config(menu=nav)

此外,nav.add_casacde(label="Cuisines", menu=navcuisine) 拼写错误 "cascade"。请尝试 nav.add_cascade(label="Cuisines", menu=navcuisine)