En este artículo vamos a discutir la función GetFirstVisibleItem() asociada con la clase wx.TreeCtrl de wxPython. Veamos cómo y para qué se utiliza:
Sintaxis: wx.TreeCtrl.GetFirstVisibleItemId(self)
Parámetros:
El método GetFirstVisibleItemId() no requiere parámetros.
Devoluciones:
objeto wx.TreeItemId que es el primer elemento visible del árbol
Su implementación se da a continuación:
Los siguientes ejemplos se imprimen si el primer elemento visible es válido o no. Realizaremos esto usando el método IsOk() asociado con el método IsOk() del objeto wx.TreeItemId que devuelve verdadero si el elemento del árbol es un elemento válido.
Ejemplo 1:
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") # print if first visible item is a valid tree item if(self.tree.GetFirstVisibleItem().IsOk()): print("Is Valid Item") else: print("Invalid Tree 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:
Es artículo válido
Ejemplo 2:
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) # print if first visible item is a valid tree item if(self.tree.GetFirstVisibleItem().IsOk()): print("Is Valid Item") else: print("Invalid Tree 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:
Elemento de árbol no válido
Publicación traducida automáticamente
Artículo escrito por RahulSabharwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA