Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

wxPython – EnsureVisible() method in wx.TreeCtrl

  • Last Updated : 28 Jul, 2020

In this article we are going to learn about EnsureVisible() function associated with wx.TreeCtrl class of wxPython. EnsureVisible() method makes an item/root to be visible on screen. Scrolls and/or expands items to ensure that the given item is visible.

This method can be used, and will work, even while the window is frozen (see wx.Window.Freeze ).

 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

Syntax: wx.TreeCtrl.EnsureVisible()



Parameters:

ParameterTypeDescription
itemwx.TreeItemIditem that we want to ensure to be visible.

Code Example:

Python3




import wx
  
class TreePanel(wx.Panel):
  
    def __init__(self, parent):
        wx.Panel.__init__(self, parent)
  
        self.tree = wx.TreeCtrl(self, wx.ID_ANY, wx.DefaultPosition, (100, 50),
                           wx.TR_HAS_BUTTONS)
        # create tree root
        self.root = self.tree.AddRoot('root')
        self.tree.SetPyData(self.root, ('key', 'value'))
  
        # add items to root
        item = self.tree.AppendItem(self.root, "Item")
        item2 = self.tree.AppendItem(self.root, "Item")
        item3 = self.tree.AppendItem(self.root, "Item")
        item4 = self.tree.AppendItem(self.root, "Item")
        focusitem = self.tree.AppendItem(self.root, "Focus Item")
  
        # expand root
        self.tree.Expand(self.root)
  
        self.tree.EnsureVisible(focusitem)
  
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.tree, 0, wx.EXPAND)
        self.SetSizer(sizer)
  
    def onclick(self, e):
        # Delete si2 from the tree
        self.tree.Delete(self.si2)
  
  
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!