Ошибка при создании меню в Python с использованием TkInter.Что я делаю неправильно? - PullRequest
0 голосов
/ 28 февраля 2019

Мой код:

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 (последний вызов был последним): файл, строка 52, вnavigation.config (menu = nav) Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/init.py", строка 1482, в конфигурации возвращает себя._configure ('configure', cnf, kw) Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/init.py", строка 1473, в _configure self.tk.call (_flatten ((self._w, cmd)) + self._options (cnf)) _tkinter.TclError: неизвестный параметр "-menu"

Что означает эта ошибка?Что я делаю не так, и как я могу это исправить?

Спасибо большое !!

1 Ответ

0 голосов
/ 28 февраля 2019
navigation = Frame(main, bg="floral white")
navigation.grid(padx=20)


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

Это проблема.Объекты Frame не поддерживают параметр конфигурации menu.Насколько я знаю, только виджеты Toplevel позволяют menu.Одно из возможных решений - сделать вместо nav меню root.

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

Кроме того, nav.add_casacde(label="Cuisines", menu=navcuisine) орфографические ошибки "каскад".Попробуйте nav.add_cascade(label="Cuisines", menu=navcuisine) вместо.

...