2010-04-27 1044 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) 
相關問題