In this article, we are going to learn about ExpandAllChildren() method associated with wx.TreeCtrl class of wxPython. ExpandAllChildren() method is used in order to expand all the nodes that comes under a particular item that is passed as a parameter in the method. Basically, this method expands the given item and all its children recursively.
This function takes the tree node item as a parameter to whom we want to expand recursively.
Syntax: wx.TreeCtrl.ExpandAllChildren(self,i tem)
Parameters:
| Parameter | Type | Description |
| item | wx.TreeItemId | Item that we want to associate editlabel with. |
Code Example:
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 self.tree.Expand(self.root) # expand all nodes of the tree self.tree.ExpandAllChildren(item) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.tree, 0, 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:

