14.6. Manipulación de TreeViews

14.6.1. Gestión de las Columnas

Las TreeViewColumns de un TreeView pueden obtenerse individualmente o como una lista utilizando los métodos:

  treeviewcolumn = treeview.get_column(n)
  columnlist = treeview.get_columns()

donde n es el índice (empezando desde 0) de la columna que se quiere obtener. Se puede eliminar una columna con el método:

  treeview.remove_column(column)

donde column es una TreeViewColumn en treeview.

Las filas que tienen filas hijas se muestran en el TreeView con una flecha de expansión Figura 14.3, “Función de Datos de Celda”) que se puede pulsar para ocultar o mostrar las filas hijas. La columna en la que se muestra la flecha de expansión puede cambiarse utilizando el método:

  treeview.set_expander_column(column)

donde column es una TreeViewColumn en treeview. Este método es útil cuando no se desea que se indente la primera columna. Por ejemplo, Figura 14.7, “Flecha de Expansión en la segunda Columna” ilustra la flecha de expansión en la segunda columna:

Figura 14.7. Flecha de Expansión en la segunda Columna

Flecha de Expansión en la segunda Columna

14.6.2. Expansión y Contracción de Filas Hijas

Todas las filas mostradas en un TreeView pueden ser expandidas o contraídas desde un programa utilizando los métodos siguientes:

  treeview.expand_all()
  treeview.collapse_all()

Estos métodos son útiles si se quiere inicializar la visualización del TreeView en un estado determinado. Las filas individuales pueden ser expandidas o contraídas utilizando:

  treeview.expand_row(path, open_all)
  treeview.collapse_row(path)

donde path es el camino de árbol a una fila en treeview, y si open_all es TRUE, entonces todas las filas descendientes de path son expandidas; en otro caso, únicamente son expandidas las descendientes inmediatas.

Se puede determinar si una fila se expande utilizando el método:

  is_expanded = treeview.row_expanded(path)