2012-05-09 103 views
0

我有這樣的事情現在:如何從wx.TextCtrl打印出一個值?

import wx 

class QuickAddBox(wx.TextCtrl): 
    def __init__(self, parent, viewer): 
     self.quick_add_text = wx.TextCtrl.__init__(self, parent, -1, '', size=(300,20), style=wx.TE_PROCESS_ENTER) 
     self.Bind(wx.EVT_TEXT_ENTER, self.OnPress, self.quick_add_text) 

    def OnPress(self, evt): 
     print self.quick_add_text.GetValue() 

而且我想要得到的文本框的值,當我點擊進入。但是當我點擊進入時,出現以下錯誤:

AttributeError: 'NoneType' object has no attribute 'GetValue' 

有什麼建議嗎?

__ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ _ __ -

沒關係我解決它通過執行以下操作:

def OnPress(self, evt): 
    print self.GetValue() 

回答

0

看起來你存儲TextCtrl的__init__(這是None),而不是實際的類實例的返回值。你__init__應該可能是這樣的:

class QuickAddBox(wx.TextCtrl): 
    def __init__(self, parent, viewer): 
     self.quick_add_text = wx.TextCtrl(self, parent, -1, '', size=(300,20), style=wx.TE_PROCESS_ENTER) 
+0

如果我這樣做,我得到這個錯誤: 類型錯誤:在方法「new_TextCtrl」,預計類型的參數1「wxWindow的*」 – Dragonfly

+0

我的代碼的某些部分巨大的整體代碼,所以我不知道我可以給你多少信息,而無需交出大量代碼。 – Dragonfly