python - wxPython:如何在多行 TextCtrl 上监听 EVT_CHAR 事件?

标签 python wxpython

我能够成功监听 TextCtrl 上的 EVT_CHAR 事件,但是当我将 TextCtrl 更改为使用 TE_MULTILINE 时,绑定(bind)似乎停止工作。

self.input = wx.TextCtrl(self, style=wx.TE_MULTILINE)
self.input.Bind(wx.EVT_CHAR, self.OnChar)

我正在使用 3.0.3.dev1820+49a8884 osx-cocoa (phoenix)。

如何在多行 TextCtrl 上监听 EVT_CHAR 事件?

最佳答案

问题中展示的代码应该可以工作,如果您使用的不是Mac,则可以。事实上,它在 Mac 上不起作用是一个错误 - 我在 https://github.com/wxWidgets/Phoenix/issues/804 报告了它。并且得到了维护者的确认。

该错误将在 wxPython 4.1 中修复,但在撰写本文时该版本尚未发布。

如果您必须使用没有修复程序的 wxPython 版本,那么根据您的目标,它可能足以绑定(bind)到 wx.EVT_TEXT 或相反,尽管两者的行为与 wx.EVT_CHAR 完全相同。

关于python - wxPython:如何在多行 TextCtrl 上监听 EVT_CHAR 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31620085/

相关文章:

python - 在wxpython的面板中嵌入网格

wxpython - 需要 wxPython 的帮助(新手)

python - 如何保护 python 程序(使用串行 key )?

python - .gitignore 不忽略文件 Django

event-handling - wxPython Unbind方法返回True但不解除绑定(bind)

python - 如何将 Google map 嵌入到 wxPython 程序中?

python - python模块的多次导入

python - 使用 itemgetter 对元组进行排序的困难

Python feedparser 返回第一个条目中第一个媒体项的 URL

Python3 beautifulsoup模块 'NoneType'错误