wxPython – Método Delete() en wx.TreeCtrl

En este artículo aprenderemos sobre el método Delete() asociado con la clase wx.TreeCtrl de wxPython. La función Delete() se usa simplemente para eliminar el elemento específico del árbol, puede ser un elemento raíz o terminal.

Se generará un evento EVT_TREE_DELETE_ITEM.

Esta función puede hacer que falle una llamada posterior a GetNextChild.

Sintaxis:

wx.TreeCtrl.Delete(yo, elemento)

Parámetros:

Parámetro            escribe                        Descripción
artículo wx.TreeItemId elemento que queremos eliminar del control de árbol 

Ejemplo de código:

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, 150),
                                                 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
        self.itm = self.tree.AppendItem(self.root, 'Item')
  
        # Add item to 'itm'
        self.si1 = self.tree.AppendItem(self.itm, "Sub Item")
  
        # Add another item
        self.si2 = self.tree.AppendItem(self.itm, "Another Sub Item")
  
        # Expand whole tree
        self.tree.ExpandAll()
  
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.tree, 0, wx.EXPAND)
        self.SetSizer(sizer)
  
        # Add button in frame
        self.btn = wx.Button(self, 1, "Delete", (10, 170))
          
        # Bind event function with button
        self.btn.Bind(wx.EVT_BUTTON, self.onclick)
  
    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()

Producción:

antes de hacer clic en el botón

después de hacer clic en el botón

Publicación traducida automáticamente

Artículo escrito por RahulSabharwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *