Pergunta

Eu estou usando um wxGenericDirCtrl, e eu gostaria de saber se existe uma forma de esconder os diretórios, eu gosto especialmente para ocultar irmãos de nós pais.

Por exemplo, se a minha estrutura de diretório parecido com este:

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

Se o meu atualmente selecionado o diretório é /a/c/d existe alguma forma de ocultar b e g, de modo que a árvore se parece com isso no meu ctrl:

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

Eu estou atualmente trabalhando com uma estrutura de diretório que tenha muitos e muitos diretórios que são irrelevantes para a maioria dos usuários, de modo que seria bom ser capaz de limpá-lo.

Editar:Se isso faz diferença, eu estou usando o wxPython, e até agora, eu só testei o meu código no linux usando GTK back-end, mas eu pretendo fazer é multi-plataforma e usá-lo no Windows e no Mac usando o nativo de infra-estruturas.

Foi útil?

Solução

Listagem/andar diretórios em Python é muito fácil, por isso eu recomendo tentar "enrolar o seu próprio", usando um simples controles de árvore (como TreeCtrl ou CustomTreeCtrl).Deve ser realmente muito fácil chamar a listagem de diretório de código quando algum diretório é expandido e retornar o resultado.

Outras dicas

Eu não acho que é possível.

Seria relativamente fácil para adicionar esta funcionalidade subjacente C++ wxWidgets de controle, mas desde que você está usando wxPython, seria, então, temos que reconstruir o que tão bem o que é um grande problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top