2010-04-27 28 views
5

yazılır. (Tek satır) TextCtrl var. Kullanıcı buna veriyi yazar. Enter'a bastığında, işlenebilmesi için kutunun içeriğinin çıkarılması gerekir. Basılma girişini nasıl yakalayacağımı anlayamıyorum.Metin girilirken metin girilirken bir metin kutusuna wxPython

Dokümanlara göre, wx.TE_PROCESS_ENTER adlı TextCtrl ayarlamamla birlikte, kutuya girildiğinde yakalayabileceğim bir wx.EVT_COMMAND_TEXT_ENTER olayı oluşturulmalıdır. Ancak, wx.EVT_COMMAND_TEXT_ENTER görünmüyor gibi görünüyor ("modülün hiçbir özniteliği EVT_COMMAND_TEXT_ENTER vardır), bu yüzden biraz sıkışmış. Googling sadece wx.EVT_COMMAND_TEXT_ENTER şikayet değil birkaç kişi vurur, bu yüzden sanırım bunu yapmanın başka bir yolunu gerekir.

cevap

4

ben wx.EVT_COMMAND_TEXT_ENTER görmedim. ama wx.EVT_TEXT_ENTER kullandık ...

+0

Ah ile TextCtrlve Bind, evet, Bu, oluşturulan olaydır. Sanırım bu, wxPython ve C++ sürümü arasındaki bir fark. EVT_COMMAND_TEXT_ENTER burada belirtilmiştir: http://docs.wxwidgets.org/stable/wx_wxtextctrl.html – Sam

0

Kullanım style = wx.TE_PROCESS_ENTEREvent 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) 
İlgili konular