矢印を表示しながらルートを表示せずにwxpython treectrl
-
05-10-2019 - |
質問
wxpythonを使用してPythonツリービジュアライザーを作成しています。それはそうで使用されます:
show_tree([ 'A node with no children', ('A node with children', 'A child node', ('A child node with children', 'Another child')) ])
うまくいきましたが、「ツリー」の値を持つルートが表示されます。私はそれが複数のルーツを作成するようにしましたが、それから私はそれをすることを許可されていないことを学びました。私は元のコードに戻りましたが、使用してこれから変更しました: self.tree = wx.TreeCtrl(self)
これに: self.tree = wx.TreeCtrl(self, style=wx.TR_HIDE_ROOT)
. 。うまくいきましたが、側面に小さな矢印が表示されなかったので、どのノードに子供がいるかわかりません。ルートノードを非表示にしますが、矢印を保持する方法はありますか。注:Pythonバージョン2.5およびWXPythonバージョン2.8.4.0を使用してMacを使用しています。
解決
注:私がこれを投稿したとき、私はあなたが木に複数のスタイルを適用することができたことに気づきませんでした。
すべてを試した後、私はそれがTR_HIDE_ROOTとTR_HAS_BUTTONSの組み合わせであり、左側に矢印を表示しながら、子供とノードを崩壊させて非表示にできる左側に矢印を表示するトリックを行うことに気付きました。これは私が最終的に使用することになったコードです。
self.tree = wx.TreeCtrl(self, style=wx.TR_HAS_BUTTONS + wx.TR_HIDE_ROOT)
他のヒント
たぶん......だろう wxTR_LINES_AT_ROOT
あなたが探しているものになりますか?
から 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.
免責事項:これは、PythonではなくC ++のWX用ですが、同等でなければなりません
所属していません StackOverflow