2012-04-07 65 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