wxPython treeCtrl樹節點遞歸遍歷(復制)


下面是遞歸遍歷、獲取樹節點的方法。

 1     def getTreeAllText(self):
 2         '''獲取樹控件的全部文本'''
 3         result = []
 4         treeRoot = self.treeCtrl.GetRootItem()
 5         rootText = self.treeCtrl.GetItemText(treeRoot)
 6         result.append(u''+rootText)
 7         def recursivelyGetTreeItem(tree,leval):
 8             ''' 遞歸遍歷TreeCtrl的所有孩子 '''
 9             (item,cookie) = self.treeCtrl.GetFirstChild(tree)
10             while item.IsOk():
11                 ItemStr = u'├%s%s' % (u''*leval,self.treeCtrl.GetItemText(item))
12                 result.append(ItemStr)
13                 if self.treeCtrl.GetChildrenCount(item)>0:
14                     leval+=1
15                     recursivelyGetTreeItem(item,leval)
16                     leval-=1
17                 (item,cookie) = self.treeCtrl.GetNextChild(item,cookie)
18                 
19         leval = 0   #遞歸的子樹層次
20         recursivelyGetTreeItem(treeRoot,leval)
21         return '\n'.join(result)

 設置文本內容到剪貼板

1 def CopyToClipboard(text):
2     do = wx.TextDataObject()
3     do.SetText(text.encode('gb2312'))
4     if wx.TheClipboard.Open():
5         wx.TheClipboard.SetData(do)
6         wx.TheClipboard.Close()
7     else:
8         wx.MessageBox("Unable to open the clipboard", "Error")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM