Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

wxPython – Two step creation wx.TreeCtrl

  • Last Updated : 28 Jul, 2020

In this article we are going to learn that how can we create a Tree Control using two step creation. In order to do that we will use Create() method in wx.TreeCtrl class. Basically, we will initialize tree control using TreeCtrl() constructor with empty paranthesis and then we will use Create() method and attributes to associate with Tree Control.

Syntax:

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

wx.TreeCtrl.Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=TR_DEFAULT_STYLE, validator=DefaultValidator, name=TreeCtrlNameStr)



Parameters:

ParameterTypeDescription
parentwx.Windowparent window/frame for Tree Control.
idwx.WindowIDwidget identifier to be associated with Tree Control
poswx.Pointposition where to put Tree Control.
sizewx.Sizesize of the Tree Control widget
stylelongstyle for Tree Control.
validatorwx.ValidatorValidator associated withTree Control.
namestringName of Tree Control.

Code Example:

Python




import wx
  
class TreePanel(wx.Panel):
  
    def __init__(self, parent):
        wx.Panel.__init__(self, parent)
  
        # initialize Tree Control
        self.tree = wx.TreeCtrl(self, wx.ID_ANY, wx.DefaultPosition, (100, 70),
                           wx.TR_HAS_BUTTONS)
  
        # create Tree Control using Create() method
        self.tree.Create
        # Add root to Tree Control
        self.root = self.tree.AddRoot('Root')
  
        # Add item to root
        itm = self.tree.AppendItem(self.root, 'Item')
  
        # Add item to 'itm'
        self.tree.AppendItem(itm, "Sub Item")
  
        # Expand whole tree
        self.tree.Expand(self.root)
  
        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:




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!