2016-03-28 2 views
1

Momentan arbeite ich mit FileChooser viel und ich habe keine Erwähnung gefunden, das Widget in der docs zu aktualisieren. Das Widget ist großartig, aber wenn jemand die angezeigten Dateien aktualisieren möchte, ist eine Bewegung aus dem aktuellen Verzeichnis notwendig, um die Dateien zu aktualisieren.Refresh/Reload FileChooser

Das Problem ist, wenn Sie eine einzigen Verzeichnis als rootpath haben und im Inneren sind nur Dateien, daher ist keine solche Bewegung möglich.

Meine Frage war, wie das Widget zu aktualisieren, wenn ich um jegliche Verschwendung vermeiden will/Hinzufügen von FileChooser und tue es so kurz wie möglich für ein FileChooser, die in einer Datei kv sehr verschachtelt ist.

Antwort

3

Nachdem ich filechooser.py gesucht habe, fand ich die code, die bei jeder Bewegung zwischen Verzeichnissen ausgelöst wird. Die FileChooserIconView und FileChooserListView erben von FileChooserController, der Zugriff auf die Funktion ist einfach und es sind keine zusätzlichen Importe erforderlich.


Lassen Sie uns sagen, wir haben filechooser = FileChooserIconView():

filechooser._update_files() gut funktioniert und wann ist FileChooser irgendwo verschachtelt, ist es einfach für den Zugriff mit id

Weitere Verbesserungen Clock.schedule_interval(filechooser._update_files, t) hilfreich sein kann, wo können Sie Ihre aktualisieren Verzeichnisinhalt innerhalb einer angemessenen Zeit.

(Ich füge es hier hinzu, weil ich keine Erwähnung davon fand, aber es kann für jemanden nützlich sein.)