2010-04-27 10 views
5

Tengo una (sola línea) TextCtrl. El usuario escribe datos en esto. Cuando presionen enter, el contenido de la caja debe extraerse para que puedan procesarse. No puedo entender cómo atrapar la entrada presionada.Obtener texto cuando se presiona intro en un cuadro de texto en wxPython

De acuerdo con los documentos, con el estilo wx.TE_PROCESS_ENTER configurado en mi TextCtrl, debería generar un evento wx.EVT_COMMAND_TEXT_ENTER cuando se presiona intro en el cuadro, que luego pude capturar. Sin embargo, wx.EVT_COMMAND_TEXT_ENTER parece no existir (me sale "el módulo no tiene ningún atributo EVT_COMMAND_TEXT_ENTER), así que estoy un poco atorado. Google simplemente recibe un par de visitas de personas que se quejan wx.EVT_COMMAND_TEXT_ENTER no funciona, así que supongo que necesitará otra manera de hacerlo.

Respuesta

4

nunca he visto wx.EVT_COMMAND_TEXT_ENTER. he utilizado wx.EVT_TEXT_ENTER aunque ...

+0

Ah, sí, este es el evento que se genera. Supongo que esta es una diferencia entre wxPython y la versión C++, entonces. Aquí se menciona EVT_COMMAND_TEXT_ENTER: http://docs.wxwidgets.org/stable/wx_wxtextctrl.html – Sam

0

uso style = wx.TE_PROCESS_ENTER en TextCtrl y enlazar con 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) 
Cuestiones relacionadas