我正在使用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.

免责声明:这是针对C ++的WX,而不是Python,但应该等效

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top