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*”,我的代码是一些庞大的总体代码的一部分,因此我不确定如果不交出大量代码,我能给你多少信息。