Domanda

Sto facendo un visualizzatore albero pitone utilizzando wxPython. Ma potrebbe essere utilizzato in questo modo:

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

Ha funzionato bene ma mostra una radice con un valore di "Albero". Ho fatto in modo che esso creerebbe più radici ma poi imparato che non mi era permesso di farlo. Sono ritornato al codice originale ma usato cambiato da questo: self.tree = wx.TreeCtrl(self) a questo: self.tree = wx.TreeCtrl(self, style=wx.TR_HIDE_ROOT). Ha funzionato, ma non ha mostrato le piccole frecce sul lato quindi non si sa che i nodi hanno avuti bambini. C'è un modo per nascondere il nodo principale, ma mantenere le frecce. Nota: Io sono su un Mac utilizzando Python versione 2.5 e wxPython versione 2.8.4.0

.
È stato utile?

Soluzione

Nota:. Quando ho postato questo non mi ero accorta che eri in grado di applicare più stili di alberi
Dopo aver provato tutto, mi sono reso conto che si trattava di una combinazione di TR_HIDE_ROOT e TR_HAS_BUTTONS che fa il trucco di nascondere la radice, pur mostrando le frecce sul lato sinistro che consentono di comprimere e nascondere i nodi con i bambini. Questo è il codice ho finito per usare:

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

Altri suggerimenti

Potrebbe wxTR_LINES_AT_ROOT essere quello che stai cercando?

documentazione 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.

disclaimer: questo è per WX in C ++, non pitone ma dovrebbe essere equivalente

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top