Pregunta

Estoy haciendo un visualizador árbol Python usando wxPython. Sería utilizado de esta manera:

show_tree([ 'A node with no children', ('A node with children', 'A child node', ('A child node with children', 'Another child')) ])

Se trabajó muy bien pero muestra una raíz con un valor de "árbol". Lo hice para que crearía múltiples raíces, pero luego supe que no estaba autorizado a hacer eso. Me volvió al código original sino que se utiliza cambié de esto: self.tree = wx.TreeCtrl(self) a esto: self.tree = wx.TreeCtrl(self, style=wx.TR_HIDE_ROOT). Funcionó, pero no mostró las flechas pequeñas a un lado para que no sabría qué nodos tenían niños. ¿Hay alguna manera de ocultar el nodo raíz, pero mantener las flechas. Nota: Estoy en un Mac utilizando la versión 2.5 de Python y wxPython versión 2.8.4.0

.
¿Fue útil?

Solución

Nota:. Cuando publiqué este no me daba cuenta que fueron capaces de aplicar varios estilos a los árboles
Después de probar todo, me di cuenta de que era una combinación de TR_HIDE_ROOT y TR_HAS_BUTTONS que hace el truco de esconder la raíz, mientras sigue mostrando flechas en el lado izquierdo que le permiten ocultar el colapso y los nodos con los niños. Este es el código que terminé usando:

self.tree = wx.TreeCtrl(self, style=wx.TR_HAS_BUTTONS + wx.TR_HIDE_ROOT)

Otros consejos

Podría ser wxTR_LINES_AT_ROOT lo que estás buscando?

documentación wxWidgets :

wxTR_LINES_AT_ROOT
  Use this style to show lines between root nodes.
  Only applicable if wxTR_HIDE_ROOT is set
  and wxTR_NO_LINES is not set.

responsabilidad, esto es para WX en C ++, Python, pero no debería ser equivalente

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top