在wxPython中的文本框中按下回车键时获取文本

9

我有一个(单行)TextCtrl。用户在其中输入数据。当他们按下Enter键时,需要提取框中的内容以便处理。我无法弄清楚如何捕获Enter键被按下的事件。

根据文档,在我的TextCtrl上设置样式wx.TE_PROCESS_ENTER后,当在框中按下Enter键时,它应该生成wx.EVT_COMMAND_TEXT_ENTER事件,然后我就可以捕获它。但是,wx.EVT_COMMAND_TEXT_ENTER似乎不存在(我会收到“模块没有属性EVT_COMMAND_TEXT_ENTER”的错误),所以我有点困惑。在谷歌上搜索只得到了几个人抱怨wx.EVT_COMMAND_TEXT_ENTER不起作用,所以我想我需要另一种方法来做它。

2个回答

7

TextCtrl 中使用 style = wx.TE_PROCESS_ENTER 并绑定 Event wx.EVT_TEXT_ENTER

self.Text_Enter = wx.TextCtrl(self , 2 ,style = wx.TE_PROCESS_ENTER, size =(125,150), pos = (170,0))

self.Text_Enter.SetForegroundColour(wx.RED)

self.Bind(wx.EVT_TEXT_ENTER, self.Txt_Ent, id = 2)
def Txt_Ent(self,event):
   msg1 = (str(self.Text_Enter.GetValue()))
   wx.MessageBox(msg1)

6

我从未见过 wx.EVT_COMMAND_TEXT_ENTER。不过,我使用过 wx.EVT_TEXT_ENTER...


1
啊,是的,这就是生成的事件。我猜这就是wxPython和C++版本之间的区别。在这里提到了EVT_COMMAND_TEXT_ENTER:http://docs.wxwidgets.org/stable/wx_wxtextctrl.html - Sam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接