wxPython TextCtrl断言错误:wx.wxEVT_命令_TEXT_输入的不是PyEventBinder实例

wxPython TextCtrl断言错误:wx.wxEVT_命令_TEXT_输入的不是PyEventBinder实例,python,wxpython,assertions,textctrl,Python,Wxpython,Assertions,Textctrl,尝试使用wxPythonTextCtrl对ENTER作出反应时,我得到一个断言错误: self.fileNameInput = wx.TextCtrl (self, style=wx.TE_PROCESS_ENTER) self.fileNameInput.Bind (wx.wxEVT_COMMAND_TEXT_ENTER, self.onRename) 以Bind中的断言错误终止: assert isinstance(event, wx.PyEventBinder) AssertionErr

尝试使用wxPython
TextCtrl
对ENTER作出反应时,我得到一个断言错误:

self.fileNameInput = wx.TextCtrl (self, style=wx.TE_PROCESS_ENTER)
self.fileNameInput.Bind (wx.wxEVT_COMMAND_TEXT_ENTER, self.onRename)
Bind
中的断言错误终止:

assert isinstance(event, wx.PyEventBinder)
AssertionError
难怪
wx.wxEVT\u COMMAND\u TEXT\u ENTER
不是一个实例,而是一个数字


我读到一篇关于Python 2和3之间事件更改的评论——我是否混合了库的版本

你是说
wx.EVT\u TEXT\u ENTER

>>> import wx
>>> wx.wxEVT_COMMAND_TEXT_ENTER
10165
>>> wx.EVT_TEXT_ENTER
<wx._core.PyEventBinder object at 0x000000000321C8D0>

补充前面的答案,这里有一个适用于任何EVT。。。我也遇到了类似的问题,花了一些时间找到了事件的确切名称。检查源代码,文件wx\core.py具有大多数转换,在我的例子中:

EVT_LISTBOX_DCLICK = wx.PyEventBinder( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, 1)
在您的情况下,它位于文件wx\\u controls.py中:

EVT_TEXT_ENTER  = wx.PyEventBinder( wxEVT_COMMAND_TEXT_ENTER, 1)

哎哟,看起来像个傻瓜——我等会儿再试试。查看
http://xoomer.virgilio.it/infinity77/wxPython/Widgets/wx.TextCtrl.html
,我复制了错误的部分:它说“wx.EVT_TEXT_ENTER(id,func)响应wx.wxEVT_命令_TEXT_ENTER事件,在文本控件(…)中按ENTER键时生成。”
EVT_TEXT_ENTER  = wx.PyEventBinder( wxEVT_COMMAND_TEXT_ENTER, 1)