Python 如何从wx.TextCtrl打印值?

Python 如何从wx.TextCtrl打印值?,python,textbox,wxwidgets,wx.textctrl,Python,Textbox,Wxwidgets,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

我现在有这样的事情:

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()
我想在单击enter时获取文本框的值。但当我单击enter时,会出现以下错误:

AttributeError: 'NoneType' object has no attribute 'GetValue'
有什么建议吗

\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu-

不管怎样,我通过以下方法解决了这个问题:

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

看起来您存储的是TextCtrl的
\uuuu init\uuuu
(即
None
)的返回值,而不是实际的类实例。您的
\uuuu init\uuuu
应该如下所示:

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)

如果我这样做,我会得到以下错误:TypeError:new_TextCtrl方法中,预期参数1的类型为“wxWindow*”,我的代码是一些庞大的总体代码的一部分,因此我不确定如果不交出大量代码,我能给你多少信息。