Domanda

Sto usando wxGenericDirCtrl e vorrei sapere se esiste un modo per nascondere le directory, in particolare vorrei nascondere i fratelli dei nodi principali.

Ad esempio, se la struttura della mia directory è simile a questa:

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

Se la mia directory attualmente selezionata è /a/c/d c'è un modo per nascondere b e g, in modo che l'albero assomigli a questo nel mio ctrl:

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

Attualmente sto lavorando con una struttura di directory che ha tantissime directory irrilevanti per la maggior parte degli utenti, quindi sarebbe bello poterla ripulire.

Modificare:Se fa la differenza, sto usando wxPython e finora ho testato il mio codice solo su Linux utilizzando il backend GTK, ma ho intenzione di renderlo multipiattaforma e di utilizzarlo su Windows e Mac utilizzando i backend nativi.

È stato utile?

Soluzione

Elencare/percorrere le directory in Python è molto semplice, quindi consiglierei di provare a "crearne una propria" utilizzando uno dei semplici controlli ad albero (come TreeCtrl o CustomTreeCtrl).Dovrebbe essere davvero abbastanza semplice chiamare il codice dell'elenco delle directory quando una directory viene espansa e restituire il risultato.

Altri suggerimenti

Non penso che sia possibile.

Sarebbe relativamente semplice aggiungere questa funzionalità al controllo wxWidgets C++ sottostante, ma poiché stai utilizzando wxPython, dovresti ricostruire anche quello, il che è un problema enorme.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top