Pregunta

Estoy usando wxGenericDirCtrl y me gustaría saber si hay una manera de ocultar directorios, especialmente me gustaría ocultar los hermanos de los nodos principales.

Por ejemplo, si mi estructura de directorios se ve así:

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

Si mi directorio seleccionado actualmente es /a/c/d, ¿hay alguna forma de ocultar b y g, de modo que el árbol se vea así en mi control?

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

Actualmente estoy trabajando con una estructura de directorios que tiene muchísimos directorios que son irrelevantes para la mayoría de los usuarios, por lo que sería bueno poder limpiarlos.

Editar:Si hay alguna diferencia, estoy usando wxPython y, hasta ahora, solo he probado mi código en Linux usando el backend GTK, pero planeo hacerlo multiplataforma y usarlo en Windows y Mac usando los backends nativos.

¿Fue útil?

Solución

Listar/recorrer directorios en Python es muy fácil, por lo que recomendaría intentar "hacer el suyo propio" usando uno de los controles de árbol simples (como TreeCtrl o CustomTreeCtrl).Realmente debería ser bastante fácil llamar al código de listado del directorio cuando se expande algún directorio y devolver el resultado.

Otros consejos

No creo que eso sea posible.

Sería relativamente fácil agregar esta funcionalidad al control wxWidgets de C++ subyacente, pero como estás usando wxPython, tendrías que reconstruirlo también, lo cual es un problema tremendo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top