Sortierung der Dateinamen im filedialog

Plattformunabhängige GUIs mit wxWidgets.
Antworten
webeule
User
Beiträge: 2
Registriert: Montag 2. April 2012, 07:17

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.
BlackJack

@webeule: Ich würde vermuten, dass das Verhalten an der Stelle systemabhängig ist, und Du Dich auf keine bestimmte Reihenfolge verlassen kannst/darfst.
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

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
Gruß!
webeule
User
Beiträge: 2
Registriert: Montag 2. April 2012, 07:17

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:

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()
BlackJack

@webeule: Wie schon gesagt: Das konkrete Verhalten wird davon abhängen was der Dateidialog des Betriebssystems oder konkreten GUI-Toolkits macht.
Antworten