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:
Publicación traducida automáticamente
Artículo escrito por RahulSabharwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA