简体   繁体   English

在wxPython的文本框中按Enter键时获取文本

[英]Get text when enter is pressed in a text box in wxPython

I have a (single line) TextCtrl. 我有一个(单行)TextCtrl。 The user types data into this. 用户将数据输入到此中。 When they press enter, the contents of the box need to be extracted so they can be processed. 当他们按回车键时,需要提取该框的内容以便对其进行处理。 I can't figure out how to catch enter being pressed. 我无法弄清楚如何抓住进入被按下。

According to the docs, with the style wx.TE_PROCESS_ENTER set on my TextCtrl, it should generate a wx.EVT_COMMAND_TEXT_ENTER event when enter is pressed in the box, which I could then catch. 根据文档,在我的TextCtrl上设置样式wx.TE_PROCESS_ENTER,它应该在框中按下enter时生成一个wx.EVT_COMMAND_TEXT_ENTER事件,然后我可以捕获它。 However, wx.EVT_COMMAND_TEXT_ENTER seems not to exist (I get "module has no attribute EVT_COMMAND_TEXT_ENTER), so I'm a bit stuck. Googling just gets a couple of hits of people complaining wx.EVT_COMMAND_TEXT_ENTER doesn't work, so I guess I need another way of doing it. 然而,wx.EVT_COMMAND_TEXT_ENTER似乎不存在(我得到“模块没有属性EVT_COMMAND_TEXT_ENTER),所以我有点卡住。谷歌搜索只是得到几个人抱怨wx.EVT_COMMAND_TEXT_ENTER不起作用,所以我想我需要另一种方式。

I've never seen wx.EVT_COMMAND_TEXT_ENTER . 我从未见过wx.EVT_COMMAND_TEXT_ENTER I have used wx.EVT_TEXT_ENTER though... 我曾经使用过wx.EVT_TEXT_ENTER ......

Use style = wx.TE_PROCESS_ENTER in TextCtrl and Bind with Event wx.EVT_TEXT_ENTER 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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM