如何从wx.TextCtrl打印出一个值?

时间:2012-05-09 20:25:34

标签: 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.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()

1 个答案:

答案 0 :(得分: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)