0

私は今このようなものを持っています:

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'

何かアドバイス?

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

次のようにして解決したことを気にしないでください。

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

1 に答える 1

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)
于 2012-05-09T20:28:11.013 に答える