Skip to content
Related Articles

Related Articles

Improve Article

wxPython – GetFocusedItem() method in wx.TreeCtrl

  • Last Updated : 26 Nov, 2020
Geek Week

In this article, we are going to learn about GetFocusedItem() method associated with wx.TreeCtrl class of wxPython module. The GetFocusedItem() function is used in order to return the focused item. It returns the item last clicked or otherwise selected. No parameters are required by GetFocusedItem() method.

Unlike GetSelection(), it can be used whether the control has the TR_MULTIPLE style.

Syntax:

wx.TreeCtrl.GetFocusedItem(self)

Return Type: wx.TreeItemId



Parameters: No parameters

In the below program we will return if the item is valid or not. Also, the wx.TreeItemId object is returned.

Python




# import required modules
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")
  
        # set focused/selected item in control
        self.tree.SetFocusedItem(item)
  
        # print if first visible item is
        # a valid tree item
        if(self.tree.GetFocusedItem().IsOk()):
            print("Valid Item")
            print(self.tree.GetFocusedItem())
        else:
            print("Invalid 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()
  
  
# Driver Code
if __name__ == '__main__':
    app = wx.App(redirect=False)
    frame = MainFrame()
    app.MainLoop()

Output:

Valid Item
<wx._core.TreeItemId object at 0x000001DAED4141F8>

 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




My Personal Notes arrow_drop_up