在wxPython中使用三态复选框的分层检查树控件?

时间:2010-03-31 11:13:58

标签: python treeview wxpython wxwidgets

根据标题,这可能吗?

通过三态,我的意思是父节点是:

  • 检查所有孩子是否已被选中
  • 如果未选中所有子项,则取消选中
  • 灰色/如果某些孩子被选中则填写

我之前在C#中使用过它们但是找不到wxPython的等效控件/实现。

2 个答案:

答案 0 :(得分:3)

我试图用CustomTreeCtrl做同样的事情,它确实支持三态复选框。

创建根目录时,

self.root= self.tree.AddRoot("root node",ct_type=1)

或子节点

child= self.tree.AppendItem(parent,"child",ct_type=1)

它返回一个GenericTreeItem对象,您可以将属性_is3State更改为True,

self.root.Set3State(True)

child.Set3State(True)

答案 1 :(得分:2)

你看过wx.lib.agw.CustomTreeCtrl了吗?

我不确定它是否开箱即用,但它是用Python编写的,所以扩展它应该很容易。