在wxGenericDirCtrl中隐藏目录

时间:2020-03-05 18:50:20  来源:igfitidea点击:

我正在使用wxGenericDirCtrl,我想知道是否存在一种隐藏目录的方法,我尤其想隐藏父节点的同级对象。

例如,如果我的目录结构如下所示:

+-a
  |
  +-b
  | |
  | +-whatever
  |
  +-c
  | |
  | +-d
  |   |
  |   +-e
  |   |
  |   +-f
  |   
  +-g
    |
    +-whatever

如果我当前选择的目录是/ a / c / d,那么有什么方法可以隐藏b和g,以便在ctrl中树如下所示:

+-a
  |
  +-c
    |
    +-[d]
      |
      +-e
      |
      +-f

我目前正在使用一个目录结构,该目录结构具有与大多数用户无关的很多目录,因此能够清理它会很不错。

编辑:
如果有什么不同,我正在使用wxPython,到目前为止,我只在Linux上使用GTK后端测试了我的代码,但我确实计划使其成为多平台,并在Windows和Mac上使用本机后端来使用它。

解决方案

回答

我认为那是不可能的。

将该功能添加到基础C ++ wxWidgets控件中相对容易,但是由于使用的是wxPython,因此还必须重新构建它,这是一个巨大的问题。

回答

在Python中列出/遍历目录非常容易,因此我建议尝试使用一种简单的树控件(例如TreeCtrl或者CustomTreeCtrl)来"滚动自己的目录"。当扩展某个目录并返回结果时,调用目录列表代码确实非常容易。