试图让 wxPython TextCtrl
对 ENTER 作出 react ,我得到一个断言错误:
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_COMMAND_TEXT_ENTER
不是实例,而是数字。
我读到一条关于 Python 2 和 3 之间事件变化的评论——我混合了库的版本吗?
最佳答案
你是说 wx.EVT_TEXT_ENTER
吗?
>>> import wx
>>> wx.wxEVT_COMMAND_TEXT_ENTER
10165
>>> wx.EVT_TEXT_ENTER
<wx._core.PyEventBinder object at 0x000000000321C8D0>
例子:
import wx
class MyWindow(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None)
self.fileNameInput = wx.TextCtrl (self, style=wx.TE_PROCESS_ENTER)
self.fileNameInput.Bind(wx.EVT_TEXT_ENTER, self.onRename)
def onRename(self, e):
print('ENTER')
app =wx.PySimpleApp()
win = MyWindow()
win.Show()
app.MainLoop()
关于python - wxPython TextCtrl断言错误: wx. wxEVT_COMMAND_TEXT_ENTER不是PyEventBinder实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20638090/