python 2.7:使用Tkinter在GUI编程中设置Menu时出现Segmentation故障

Mal*_*ssi 3 python tkinter segmentation-fault

每次我想运行此代码时,我都会遇到分段错误:

from Tkinter import *
def gui():  
        root=Tk()
        menubar=Menu(root)
        filemenu=Menu(menubar,tearoff=0)
        filemenu.add_command(label='New',command=gui)
        filemenu.add_command(label='Close',command=root.quit)
        menubar.add_cascade(label='File',menu=filemenu)
        helpmenu=Menu(menubar,tearoff=1)
        helpmenu.add_separator()
        helpmenu.add_command(label="Help")#ajouter commande
        helpmenu.add_command(label='About...')#ajouter commande
        helpmenu.add_cascade(label='Help',menu=helpmenu)
        root.mainloop()

gui()
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?我该怎么办 ?先感谢您.MFF

Nol*_*lty 5

段错由以下原因引起:

helpmenu.add_cascade(label='Help',menu=helpmenu)
Run Code Online (Sandbox Code Playgroud)

在快速浏览一下这些文档后,为什么会给你带来问题是完全合理的.添加级联"添加分层菜单项".您正在帮助菜单中添加helpmenu作为菜单.

我相信你的意思是

menubar.add_cascade(label="Help", menu=helpmenu)
Run Code Online (Sandbox Code Playgroud)