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

Requisitos previos : wxPython

En este artículo vamos a aprender sobre el método GetFirstChild() en la clase wx.TreeCtrl de wxPython. El método GetFirstChild() devuelve el primer hijo; llame a GetNextChild para el próximo niño.

Esta función requiere que se le pase un parámetro de ‘cookie’, que es opaco para la aplicación pero es necesario para que la biblioteca haga que estas funciones se enumeren en un mismo objeto simultáneamente. La cookie que se pasa a GetFirstChild y GetNextChild debe ser la misma variable.

El método GetFirstChild() devuelve un elemento de árbol no válido (es decir, wx.TreeItemId.IsOk devuelve Falso) si no hay más elementos secundarios.

Sintaxis: 

wx.TreeCtrl.GetFirstChild(yo, elemento)

Parámetros:

Parámetros  Escribe Descripción
artículo  wx.TreeItemId elemento que queremos asegurarnos de que sea visible.

Ejemplo:

Python

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")
  
        L = self.tree.GetFirstChild(self.root)
  
        # print tuple of PySwigObject returned from GetFirstChild function
        print(L)
  
        # expand all nodes of the tree
        self.tree.ExpandAllChildren(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()
  
  
if __name__ == '__main__':
    app = wx.App(redirect=False)
    frame = MainFrame()
    app.MainLoop()

Producción:

(<wx._controls.TreeItemId; proxy de <Swig Object de tipo ‘wxTreeItemId *’ en 0x556c60f40440>, <Swig Object de tipo ‘void *’ en 0x1>)

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 *