Frage

Ich verwende wxGenericDirCtrl und würde gerne wissen, ob es eine Möglichkeit gibt, Verzeichnisse auszublenden. Ich möchte insbesondere Geschwister von übergeordneten Knoten ausblenden.

Wenn meine Verzeichnisstruktur beispielsweise so aussieht:

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

Wenn mein aktuell ausgewähltes Verzeichnis /a/c/d ist, gibt es eine Möglichkeit, b und g auszublenden, sodass der Baum in meiner Strg-Taste so aussieht:

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

Ich arbeite derzeit mit einer Verzeichnisstruktur, die viele, viele Verzeichnisse enthält, die für die meisten Benutzer irrelevant sind. Daher wäre es schön, sie bereinigen zu können.

Bearbeiten:Wenn es einen Unterschied macht, verwende ich wxPython und habe meinen Code bisher nur unter Linux mit dem GTK-Backend getestet, aber ich habe vor, ihn plattformübergreifend zu machen und ihn unter Windows und Mac mit den nativen Backends zu verwenden.

War es hilfreich?

Lösung

Das Auflisten/Durchsuchen von Verzeichnissen in Python ist sehr einfach, daher würde ich empfehlen, mit einem der einfachen Baumsteuerelemente (z. B. TreeCtrl oder CustomTreeCtrl) zu versuchen, eigene Verzeichnisse zu erstellen.Es sollte eigentlich ganz einfach sein, den Verzeichnislistencode aufzurufen, wenn ein Verzeichnis erweitert wird, und das Ergebnis zurückzugeben.

Andere Tipps

Ich glaube nicht, dass das möglich ist.

Es wäre relativ einfach, diese Funktionalität zum zugrunde liegenden C++-Steuerelement „wxWidgets“ hinzuzufügen, aber da Sie wxPython verwenden, müssten Sie diese dann auch neu erstellen, was ein enormes Problem darstellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top