4

wxPython を使用して Python ツリー ビジュアライザーを作成しています。次のように使用されます。

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

正常に機能しましたが、値が「Tree」のルートが表示されます。複数のルートを作成するように作成しましたが、それが許可されていないことがわかりました。元のコードに戻しましたが、 this: から this: に変更しましself.tree = wx.TreeCtrl(self)self.tree = wx.TreeCtrl(self, style=wx.TR_HIDE_ROOT)。それは機能しましたが、側面に小さな矢印が表示されなかったため、どのノードに子があるかわかりませんでした。ルート ノードを非表示にして矢印を保持する方法はありますか。注: 私は Mac で Python バージョン 2.5 と wxPython バージョン 2.8.4.0 を使用しています。

4

2 に答える 2

9

注: これを投稿したとき、ツリーに複数のスタイルを適用できることに気づきませんでした。
すべてを試した後、TR_HIDE_ROOT と TR_HAS_BUTTONS の組み合わせが、ルートを非表示にし、左側に矢印を表示して、ノードを折りたたんで子ノードを非表示にするトリックを実行することに気付きました。これは私が最終的に使用したコードです:

self.tree = wx.TreeCtrl(self, style=wx.TR_HAS_BUTTONS + wx.TR_HIDE_ROOT)
于 2010-06-08T00:43:10.317 に答える
1

あなたwxTR_LINES_AT_ROOTが探しているものでしょうか?

wxWidgets のドキュメントから:

wxTR_LINES_AT_ROOT
  このスタイルを使用して、ルート ノード間の線を表示します。
  wxTR_HIDE_ROOT が設定されている場合のみ適用可能
  wxTR_NO_LINES が設定されていません。

免責事項: これは C++ の WX 用であり、Python ではありませんが、同等である必要があります

于 2010-06-07T16:07:18.390 に答える