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

9 投票
2 回答
7941 浏览
提问于 2025-04-15 22:05

我有一个单行的文本框,用户可以在里面输入数据。当他们按下回车键时,我需要把文本框里的内容提取出来,以便进行处理。不过,我不知道怎么才能捕捉到回车键被按下的这个动作。

根据文档,如果我在文本框上设置了样式 wx.TE_PROCESS_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...

撰写回答