Ver Mensaje Individual
  #4 (permalink)  
Antiguo 20/01/2010, 14:37
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Treeview agregar nodos fuera de la clase

Código Python:
Ver original
  1. #coding: utf-8
  2. import wx
  3.  
  4. class TestFrame(wx.Frame):
  5.     def __init__(self):
  6.         wx.Frame.__init__(self, None, title="Tree", size=(400,500))
  7.  
  8.         # Creamos el tree
  9.         self.tree = wx.TreeCtrl(self)
  10.  
  11.         # Añadimos una raiz
  12.         self.root = self.tree.AddRoot("Raiz")
  13.        
  14.         # Añadimos ramas (o nodos) a nuestra raiz
  15.         self.branches = [
  16.                     ["Rama1",
  17.                         ["SubRama1EnRama1", "SubRama2EnRama1"]],
  18.                     ["Rama2",
  19.                         ["SubRama1EnRama2", "SubRama2EnRama2"]]
  20.                    ]
  21.         self.AddTreeNodes(self.root, self.branches) #Metodo de clase
  22.  
  23.         # Expandimos el primer nivel
  24.         self.tree.Expand(self.root)
  25.  
  26.     def AddTreeNodes(self, root, items):
  27.         for item in items:
  28.             if type(item) == str:
  29.                 self.tree.AppendItem(root, item)
  30.             else:
  31.                 newItem = self.tree.AppendItem(root, item[0])
  32.                 self.AddTreeNodes(newItem, item[1])
  33.  
  34.  
  35. #Aqui añadimos ramas fuera de la clase
  36. def AppendNode(frame):
  37.     newroot = frame.tree.AppendItem(frame.root, "Rama3")
  38.     frame.tree.AppendItem(newroot, "SubRama1EnRama3")
  39.  
  40. app = wx.PySimpleApp()
  41. frame = TestFrame()
  42. AppendNode(frame)
  43. frame.Show()
  44. app.MainLoop()
La verdad es que no entiendo muy bien para que agregar nodos, fuera de una clase :s