Hallo zusammen,
ich habe einen wx.FileDialog erstellt.
Die Sortierung der zurückgegebenen Dateinamen bei der Auswahl mehrerer Dateien mit GetPaths() ist mir nicht klar:
- es wird nicht alphabetisch sortiert
- die Sortierung erfolgt nicht in der Reihenfolge der Auswahl
Die letzte Variante würde mich interessieren. Die erste Variante kann man ja nachträglich selber erzeugen.
Prinzipiell möchte ich aber verstehen, was wx.FileDialog macht.
Sortierung der Dateinamen im filedialog
@webeule: Ich würde vermuten, dass das Verhalten an der Stelle systemabhängig ist, und Du Dich auf keine bestimmte Reihenfolge verlassen kannst/darfst.
Ich habe das hier jetzt mal versucht und die Dateinamen werden bei mir genau so zurück gegeben, wie die Anordnung im System eingestellt ist.
Wenn ich also "Sortieren nach Name" einestelle, bekomme ich eine alphabetische Liste, wenn ich "Sortieren nach Größe" nehme, bekomme ich eine Liste in eben jener Reihenfolge.
wxPython 2.8.12.1 | Python 2.7.2 | Windows XP 32
Wenn ich also "Sortieren nach Name" einestelle, bekomme ich eine alphabetische Liste, wenn ich "Sortieren nach Größe" nehme, bekomme ich eine Liste in eben jener Reihenfolge.
wxPython 2.8.12.1 | Python 2.7.2 | Windows XP 32
Gruß!
Ich habe das jetzt auch noch mal getestet:
Testdateien:
- test1.txt (4 kB)
- test2.txt (1 kB)
- test3.txt (8 kB)
Ergebnis:
Auswahl--------------gewählte Sortierung-----------Ausgabe (Größe der Datei)
1, 2, 3----------------Name---------------------------3 (8 kB), 1 (4 kB), 2 (1 kB)
2, 3, 1----------------Name---------------------------1 (4 kB), 2 (1 kB), 3 (8 kB)
3, 2, 1----------------Name---------------------------1 (4 kB), 2 (1 kB), 3 (8 kB)
1, 2, 3----------------Größe---------------------------3 (8 kB), 2 (1 kB), 1 (4 kB)
2, 3, 1----------------Größe---------------------------1 (4 kB), 3 (8 kB), 2 (1 kB)
3, 2, 1----------------Größe---------------------------1 (4 kB), 3 (8 kB), 2 (1 kB)
Die Auswahl in der alphabetischen Sortierung (1, 2, 3) scheint irgendwie anders zu reagieren. Verstehen tue ich das nicht. Die gewählte Sortierung scheint auch einen Einfluss zu haben.
wxPython 2.8.12.0 | Python 2.7.2 | Windows XP 32
Hier noch ein Codeausschnitt:
Testdateien:
- test1.txt (4 kB)
- test2.txt (1 kB)
- test3.txt (8 kB)
Ergebnis:
Auswahl--------------gewählte Sortierung-----------Ausgabe (Größe der Datei)
1, 2, 3----------------Name---------------------------3 (8 kB), 1 (4 kB), 2 (1 kB)
2, 3, 1----------------Name---------------------------1 (4 kB), 2 (1 kB), 3 (8 kB)
3, 2, 1----------------Name---------------------------1 (4 kB), 2 (1 kB), 3 (8 kB)
1, 2, 3----------------Größe---------------------------3 (8 kB), 2 (1 kB), 1 (4 kB)
2, 3, 1----------------Größe---------------------------1 (4 kB), 3 (8 kB), 2 (1 kB)
3, 2, 1----------------Größe---------------------------1 (4 kB), 3 (8 kB), 2 (1 kB)
Die Auswahl in der alphabetischen Sortierung (1, 2, 3) scheint irgendwie anders zu reagieren. Verstehen tue ich das nicht. Die gewählte Sortierung scheint auch einen Einfluss zu haben.
wxPython 2.8.12.0 | Python 2.7.2 | Windows XP 32
Hier noch ein Codeausschnitt:
Code: Alles auswählen
filenames = ""
dlg = wx.FileDialog(self, message="QS-Stat Dateien auswaehlen", style = wxMULTIPLE)
if dlg.ShowModal() == wx.ID_OK:
filenames = dlg.GetPaths()
dlg.Destroy()
@webeule: Wie schon gesagt: Das konkrete Verhalten wird davon abhängen was der Dateidialog des Betriebssystems oder konkreten GUI-Toolkits macht.