wxPython中带有三态复选框的层次检查树控件?
根据标题,这个是可能的吗?
这里说的三态是指父节点的状态:
- 如果所有子节点都被选中,父节点也被选中
- 如果所有子节点都没有被选中,父节点也没有被选中
- 如果有一些子节点被选中,父节点的状态是灰色或填充状态
我之前在C#中用过这种方式,但在wxPython中找不到类似的控件或实现。
2 个回答
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)
2
你有没有看看 wx.lib.agw.CustomTreeCtrl 这个东西?
我不太确定它是否默认支持三态(就是有三种状态),不过它是用Python写的,所以扩展它应该挺简单的。