2014-04-06 54 views
0

Python新手,但一直存在與組合框有關的問題。Python 3.3:tkinter.ttk提取當前選定值時出現combobox錯誤

我已經檢查了論壇,但還沒有看到答案,以阻止我與組合框中獲得的任何錯誤。我收到以下錯誤:

「menuItem1 = self.cmbBxMen1.get() AttributeError的:‘NoneType’對象沒有屬性‘得到’」

根和框架設置類是應用,並且該方法導致錯誤與窗口小部件方法的調用和放置位於同一個類中,但採用不同的方法。按鈕對象的命令屬性設置爲使用Add_To_Menu方法獲取組合框中選定的值。代碼如下:

def __init__(self, master): 

    super(Application, self).__init__(master) 
    self.grid() 
    self.create_widgets() 



def create_widgets(self): 

    data = Application.data 

    self.cmbBxMen1 = Combobox(self, values = data, width = 60).grid(row=0, column=1, padx = 4, pady = 20) 
    self.btnAdMen = Button(self, text = "Add to Menu", command = self.Add_To_Menu).grid(row=0, column=9, pady = 20, sticky = W) 

def Add_To_Menu(self): 

    menuItem1 = self.cmbBxMen1.get() 

有人可以告訴我我做錯了什麼導致這個錯誤嗎?

回答

1

問題是,widget.grid()事實上並沒有返回小部件後,將其放到佈局。它返回None。您應該分別撥打.grid()並按下相同的按鈕。

self.cmbBxMen1 = Combobox(self, values = data, width = 60) 
self.cmbBxMen1.grid(row=0, column=1, padx = 4, pady = 20) 
相關問題