题
我正在使用 wxGenericDirCtrl,我想知道是否有办法隐藏目录,我特别想隐藏父节点的兄弟节点。
例如,如果我的目录结构如下所示:
+-a
|
+-b
| |
| +-whatever
|
+-c
| |
| +-d
| |
| +-e
| |
| +-f
|
+-g
|
+-whatever
如果我当前选择的目录是 /a/c/d 有什么方法可以隐藏 b 和 g,以便树在我的 ctrl 中看起来像这样:
+-a
|
+-c
|
+-[d]
|
+-e
|
+-f
我目前正在使用一个目录结构,其中有很多与大多数用户无关的目录,因此能够清理它会很好。
编辑:如果有什么不同的话,我正在使用 wxPython,到目前为止,我只使用 GTK 后端在 Linux 上测试了我的代码,但我确实计划使其成为多平台,并使用本机后端在 Windows 和 Mac 上使用它。
解决方案
在 Python 中列出/遍历目录非常容易,因此我建议尝试使用简单的树控件之一(例如 TreeCtrl 或 CustomTreeCtrl)“创建自己的目录”。当某个目录展开并返回结果时,调用目录列表代码确实应该很容易。
其他提示
我认为这是不可能的。
将此功能添加到底层 C++ wxWidgets 控件中相对容易,但由于您使用的是 wxPython,因此您还必须重建它,这是一个巨大的问题。
不隶属于 StackOverflow