wxFileDialog

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
OttoPython
User
Beiträge: 47
Registriert: Montag 23. April 2012, 14:14

Hi,

habe heute die nette funktion wxPython entdeckt und würde gern einmal wissen, wie ich mir dateinamen die ich mir per

Code: Alles auswählen

from wxPython.wx import *

application = wxPySimpleApp()

filters = 'All files (*.*)|*.*|Text files (*.txt)|*.txt'
dialog = wxFileDialog (None, message = 'Choose Files....', wildcard = filters, style = wxOPEN | wxMULTIPLE)
						

if dialog.ShowModal() == wxID_OK:
	selected = dialog.GetPaths()
	for selection in selected:
		print 'Selected:', selection
else:
	print 'Nothing was selected.'
dialog.Destroy()
auswähle ausgeben kann? ich habe einen Befehl gefunden kann ihn aber nicht rihctig implementieren

Code: Alles auswählen

GetFilenames (wxArrayString& filenames) const 
noch ne Frage btw:
wieso kann ich eigentlich im

Code: Alles auswählen

with open('bla.txt','r') as ... : 
keinen Pfad benutzen bzw/oder eine variable für den Pfad?
"Im Burnout steckt viel Arbeit drin" -Lysander
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

OttoPython hat geschrieben:wieso kann ich eigentlich im

Code: Alles auswählen

with open('bla.txt','r') as ... : 
keinen Pfad benutzen bzw/oder eine variable für den Pfad?
Weil du dabei anscheinend einen Fehler machst.

Der folgende Code funktioniert ohne Probleme.

Code: Alles auswählen

filepath = '/tmp/myfile'
with open(filepath) as fp:
    for line in fp:
        print line
Benutzeravatar
OttoPython
User
Beiträge: 47
Registriert: Montag 23. April 2012, 14:14

... Fehler war auffallend dämlich von mir. hätte mir nur "selected" ausgeben lassen müssen.

aber nun eine andere Frage.
Dateiaufruf von mehreren Dateien auf einmal ist ja möglich mit dem multiple style.
Ist es möglich, Dateien aus unterschiedlichen Pfaden zu erfassen? Also auf die Methode von Multiple geht es nicht, jedes Markierte element wird ersetzt sobald etwas neues markiert wird logisch.
Ich hab es dann versucht einfach erneut ein filedialog zu eröffnen aber dann erhalte ich jedes mal den Fehler

Code: Alles auswählen

    dialog = wxFileDialog (None,defaultDir = Path, message = 'Choose Files....',
 wildcard = filters, style = wxOPEN | wxMULTIPLE)
  File "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_windows.py", line 2
430, in __init__
    _windows_.FileDialog_swiginit(self,_windows_.new_FileDialog(*args, **kwargs)
)
wx._core.PyNoAppError: The wx.App object must be created first!
das Modul wird aber bereits vorher destroyed und komplett neu aufgerufen.

Hat da jmd ne Idee oder n Ratschlag wie man das Problem lösen kann, bzw besser machen könnte?
"Im Burnout steckt viel Arbeit drin" -Lysander
Antworten