2010-04-27 1051 views
5

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

根据文档,在我的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不起作用的人,所以我想我需要做的另一种方式。

回答

4

我从来没有见过wx.EVT_COMMAND_TEXT_ENTER。我用wx.EVT_TEXT_ENTER虽然...

+0

啊,是的,这是生成的事件。我想这是wxPython和C++版本之间的区别。这里提到EVT_COMMAND_TEXT_ENTER:http://docs.wxwidgets.org/stable/wx_wxtextctrl.html – Sam 2010-04-27 21:53:14

0

使用style = wx.TE_PROCESS_ENTERTextCtrl并绑定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) 
相关问题