Frage

Ich mache ein Python-Baum-Visualizer mit wxPython. Es wäre wie so verwendet werden:

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

Es funktionierte gut, aber es zeigt eine Wurzel mit einem Wert von „Baum“. Ich habe es so, dass es mehrere Wurzeln schaffen würde, aber dann erfuhr, dass ich das nicht tun durfte. Ich kehrte auf den ursprünglichen Code, sondern verwendet sie von diesem geändert: self.tree = wx.TreeCtrl(self) dazu: self.tree = wx.TreeCtrl(self, style=wx.TR_HIDE_ROOT). Es funktionierte, aber es zeigte sich nicht die kleinen Pfeile auf der Seite, so würden Sie nicht wissen, welche Knoten Kinder hatte. Gibt es eine Möglichkeit den Wurzelknoten zu verstecken, aber die Pfeile zu halten. Hinweis: Ich bin auf einem Mac mit Python-Version 2.5 und WxPython Version 2.8.4.0

.
War es hilfreich?

Lösung

. Hinweis: Als ich das ich gepostet wusste nicht, dass Sie in der Lage waren mehrere Stile Bäume anwenden
Nachdem alles versucht, erkannte ich, dass es eine Kombination aus TR_HIDE_ROOT und TR_HAS_BUTTONS war, der den Trick versteckt die Wurzel tut, während immer noch die Pfeile auf der linken Seite angezeigt, die Sie Knoten mit Kindern kollabieren und sich verstecken können. Dies ist der Code, den ich am Ende mit:

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

Andere Tipps

Könnte wxTR_LINES_AT_ROOT sein, was Sie suchen?

WxWidgets Dokumentation :

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.

Disclaimer: Dies ist für WX in C ++, Python nicht, aber es sollte gleichwertig sein

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top