2012-04-07 78 views
3

设置菜单时,我得到一个分段错误每次我要运行该代码:蟒蛇2.7:获取分割故障,在GUI编程与Tkinter的

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() 

什么建议吗? 我该怎么办? 预先感谢您。 MFF

+0

在哪个操作系统您正在运行。我刚刚运行你的示例代码,它很好。 – Abhijit 2012-04-07 16:29:18

+0

我刚刚在mac osx Lion上运行python 2.7.2,并且遇到了seg故障。所以可能是OS X. – 2012-04-07 16:39:09

+0

在Ubuntu 11.10上运行良好,Python 2.7.2。段错误需要多长时间?你在使用什么操作系统? – Makoto 2012-04-07 16:43:30

回答

5

该段错误的原因是:

helpmenu.add_cascade(label='Help',menu=helpmenu) 

快速浏览的文档后,它非常有意义,为什么这样做给你的问题。添加级联“添加分层菜单项”。您正在帮助菜单中添加helpmenu作为菜单。

我相信你的意思在这里

menubar.add_cascade(label="Help", menu=helpmenu) 
+0

哇,谢谢! ;)我正面临这一段时间! – 2012-04-07 16:55:44