Skip to content
Related Articles

Related Articles

wxPython – GetChildrenCount() method in wx.TreeCtrl

View Discussion
Improve Article
Save Article
  • Last Updated : 25 Nov, 2020
View Discussion
Improve Article
Save Article

In this article, we are going to learn about GetChildren method associated with wx.TreeCtrl class of wxPython. Returns the number of items in the branch. GetChildren() method takes two parameters first is item and another is recursively.

recursively is a boolean parameter, and If recursively is True, returns the total number of descendants, otherwise, only one level of children is counted. GetChildrenCount() returns int (total number of children associated with TreeCtrl item).

Syntax: wx.TreeCtrl.GetChildrenCount()

Parameters:

Parameters Type Description
item wx.TreeItemId item that we want to ensure to be visible.
recursively boolean fetch children recursively or not.

Example 1: 

Python




import wx 
  
  
class MyTree(wx.TreeCtrl): 
  
    def __init__(self, parent, id, pos, size, style): 
        wx.TreeCtrl.__init__(self, parent, id, pos, size, style) 
  
  
class TreePanel(wx.Panel): 
  
    def __init__(self, parent): 
        wx.Panel.__init__(self, parent)
          
        # create tree control in window 
        self.tree = MyTree(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 
                        wx.TR_HAS_BUTTONS) 
          
        # CREATE TREE ROOT 
        self.root = self.tree.AddRoot('root'
        self.tree.SetPyData(self.root, ('key', 'value')) 
  
        # add item to root 
        item = self.tree.AppendItem(self.root, "Item"
        item2 = self.tree.AppendItem(self.root, "Item"
        item3 = self.tree.AppendItem(item, "SubItem")
        item4 = self.tree.AppendItem(item, "SubItem")
        item5 = self.tree.AppendItem(item2, "SubItem")
        item6 = self.tree.AppendItem(item, "SubItem")
  
        # expand root node
        print(self.tree.GetChildrenCount(self.root, False))
  
        # expand all nodes of the tree
        self.tree.Expand() 
          
        sizer = wx.BoxSizer(wx.VERTICAL) 
        sizer.Add(self.tree, 100, wx.EXPAND) 
        self.SetSizer(sizer) 
  
  
class MainFrame(wx.Frame): 
  
    def __init__(self): 
        wx.Frame.__init__(self, parent = None, title ='TreeCtrl Demo'
        panel = TreePanel(self
        self.Show() 
  
  
if __name__ == '__main__'
    app = wx.App(redirect = False
    frame = MainFrame() 
    app.MainLoop()


Output:

2

Example 2:

Python




import wx 
  
  
class MyTree(wx.TreeCtrl): 
  
    def __init__(self, parent, id, pos, size, style): 
        wx.TreeCtrl.__init__(self, parent, id, pos, size, style) 
  
  
class TreePanel(wx.Panel): 
  
    def __init__(self, parent): 
        wx.Panel.__init__(self, parent) 
          
        # create tree control in window 
        self.tree = MyTree(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 
                        wx.TR_HAS_BUTTONS) 
          
        # CREATE TREE ROOT 
        self.root = self.tree.AddRoot('root'
        self.tree.SetPyData(self.root, ('key', 'value')) 
  
        # add item to root 
        item = self.tree.AppendItem(self.root, "Item"
        item2 = self.tree.AppendItem(self.root, "Item"
        item3 = self.tree.AppendItem(item, "SubItem")
        item4 = self.tree.AppendItem(item, "SubItem")
        item5 = self.tree.AppendItem(item2, "SubItem")
        item6 = self.tree.AppendItem(item, "SubItem")
  
        # expand root node
        print(self.tree.GetChildrenCount(self.root, True))
  
        # expand all nodes of the tree
        self.tree.ExpandAllChildren(item) 
          
        sizer = wx.BoxSizer(wx.VERTICAL) 
        sizer.Add(self.tree, 100, wx.EXPAND) 
        self.SetSizer(sizer) 
  
  
class MainFrame(wx.Frame): 
  
    def __init__(self): 
        wx.Frame.__init__(self, parent = None, title ='TreeCtrl Demo'
        panel = TreePanel(self
        self.Show() 
  
  
if __name__ == '__main__'
    app = wx.App(redirect = False
    frame = MainFrame() 
    app.MainLoop()


Output:

6


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!