2010-04-27 12 views
5

में टेक्स्ट बॉक्स में दर्ज होने पर टेक्स्ट प्राप्त करें मेरे पास एक (एकल पंक्ति) TextCtrl है। उपयोगकर्ता इसमें डेटा टाइप करता है। जब वे एंटर दबाते हैं, तो बॉक्स की सामग्री निकालने की आवश्यकता होती है ताकि उन्हें संसाधित किया जा सके। मैं यह नहीं समझ सकता कि दबाए जाने वाले प्रवेश को कैसे पकड़ें।WxPython

दस्तावेज़ों के मुताबिक, मेरे टेक्स्टकूट पर शैली wx.TE_PROCESS_ENTER सेट के साथ, यह बॉक्स में दबाए जाने पर wx.EVT_COMMAND_TEXT_ENTER ईवेंट उत्पन्न करना चाहिए, जिसे मैं पकड़ सकता हूं। हालांकि, wx.EVT_COMMAND_TEXT_ENTER मौजूद नहीं है (मुझे लगता है कि "मॉड्यूल में कोई विशेषता EVT_COMMAND_TEXT_ENTER नहीं है), इसलिए मैं थोड़ा फंस गया हूं। Googling को 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

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)