wxpython treectrl,没有显示root的同时仍显示箭头
-
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.
免责声明:这是针对C ++的WX,而不是Python,但应该等效
不隶属于 StackOverflow