неработающий код выпадающего меню

#windows #tkinter #python-3.5

#Windows #tkinter #python-3.5

Вопрос:

Я следил за https://www.youtube.com/watch?v=PSm-tq5M-Dc учебное пособие по созданию выпадающего меню в графическом интерфейсе. В видео код работает, но я тоже не могу получить свой, я думаю, что это может быть как-то связано с разными версиями python.

 from tkinter import * 

def doNothing():
    print ("ok ok i won't...")

root = Tk()

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

subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)
subMenu.add_command(label="New Project..."), comand=doNothing
subMenu.add_command(label="New"), comand=doNothing
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing)

editMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", comand=doNothing)

root.mainloop()
 

В этом и заключается ошибка

 C:UsersTheSheepDesktoppygui>python dropdown.py
  File "dropdown.py", line 14
    subMenu.add_command(label="New Project..."), comand=doNothing
    ^
SyntaxError: can't assign to function call
 

Комментарии:

1. вы попали ) не в то место.

Ответ №1:

У вас несколько «опечаток»

  • вместо этого он должен быть root roo в roo.config()
  • ) должен быть в конце строки в обоих
     subMenu.add_command(label="New Project..."), comand=doNothing #
    subMenu.add_command(label="New"), comand=doNothing
     
  • это должно быть command= вместо comand= (см.: mm )

.

 from tkinter import * 

def doNothing():
    print ("ok ok i won't...")

root = Tk()

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

subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)

subMenu.add_command(label="New Project...", command=doNothing)
subMenu.add_command(label="New", command=doNothing)
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing)

editMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing)

root.mainloop()