2015-06-09 31 views
0

我有一個用wxPython編寫的簡單的迷你記事本程序。 文字是寫在TextCtrl:wxPython在TextCrl中搜索的單詞

self.rtb = wx.TextCtrl(self, ID_RTB, size=wx.Size(400,200), 
          style=wx.TE_MULTILINE | wx.TE_RICH2) 

我想實現一個搜索功能,其中用戶提供了一個字,我強調它在TextCtrl。

我的方法是:

def SearchIt(self,e): 
    for line in self.rtb: 
     if self.text in line: 
      print line #will be changed to highlight when it will work 

但是我得到一個錯誤:

TypeError: 'TextCtrl' object is not iterable 

任何建議如何解決呢?現在改變TextCtrl太複雜了。有沒有另一種方法可以搜索TextCtrl中的單詞,或者也可以將TextCtrl中的文本轉換爲僅用於搜索的另一個數據結構?

回答

1

您試圖整合textCtrl,而不是其中的行。你可以這樣做,

def SearchIt(self,e): 
    for i in range(self.rtb.GetNumberOfLines()): 
     line = self.rtb.GetLineText(i) 
     if self.text in line: 
      print(line)