Hallo zusammen,
ich habe zu dem Thema hier zwei ältere threads gefunden, aber sooo hilfreich waren die nicht.
Ich habe bisher ein wenig Python scripts geschrieben und möchte jetzt gerne eine Windows - Anwendung schreiben,
in der ich zum Beispiel eine Datei über den gewohnten (oder ähnlichen) Dialog öffnen und auch speichern kann.
Auf meiner google-Tour habe ich was über Tkinter und wxPython gefunden, weiß allerdings immer noch nicht, wie, wozu, welches, etc.
Bei wxPython scheint es etwas zu geben, ich habe da in einem Beispiel eine Zeile "dlg = wxFileDialog(self)" gefunden.
Beim Versuch, das und die folgenden Anweisungen in meinem Script einzubinden, bekam ich die Fehlermeldung:
NameError: name 'wxFileDialog' is not defined
Ich benutze Python 2.4 und wxPython2.8-win32-unicode-2.8.3.0-py24.
Kann mir jemand sagen, wo vielleicht der Fehler ist, oder ob es eine andere Möglichkeit gibt, mit Python unter Windows Dateien über Dialog zu öffnen?
Gruß
Michael
Datei öffnen Dialog
Code: Alles auswählen
import wx
d = wx.FileDialog(...)
d.ShowModal()
Ich hab' jetzt auf 2.5 inclusive dem dazugehörigen wxPython umgestellt,
da ich nur warnings und Fehler bekam.
Hat sich allerdings leider nicht verändert:
Wenn ich das so mache:
bekomme ich folgende Meldung:
Ich hatte dieses Beispiel gewählt:
Der open file dialog erschien dann zwar, aber ich bekam ständig die warning:
Damit konnte ich nix anfangen, weil ich ja das Neueste von wxPython.org runtergeladen hatte...
Wenn ich aber import wx schreibe, kennt er die Module nicht....
Watt nu?
Gruß
Michael
da ich nur warnings und Fehler bekam.
Hat sich allerdings leider nicht verändert:
Wenn ich das so mache:
Code: Alles auswählen
import wx
d = wxFileDialog ( None, style = wxOPEN )
d.ShowModal()
Code: Alles auswählen
Traceback (most recent call last):
File "F:\Python25\TestOpenFiles.py", line 2, in <module>
d = wxFileDialog ( None, style = wxOPEN )
NameError: name 'wxFileDialog' is not defined
Code: Alles auswählen
from wxPython.wx import *
application = wxPySimpleApp()
# Create an open file dialog
dialog = wxFileDialog ( None, style = wxOPEN )
# Show the dialog and get user input
if dialog.ShowModal() == wxID_OK:
print 'Selected:', dialog.GetPath()
# The user did not select anything
else:
print 'Nothing was selected.'
# Destroy the dialog
dialog.Destroy()
Code: Alles auswählen
Warning (from warnings module):
File "F:/Python25/TestOpenFiles02.py", line 1
from wxPython.wx import *
DeprecationWarning: The wxPython compatibility package is no longer automatically generated or actively maintained. Please switch to the wx package as soon as possible.
Wenn ich aber import wx schreibe, kennt er die Module nicht....
Watt nu?
Gruß
Michael
Das ist der Nachteil, wenn alte Dokus noch im Netz sind.
Man beachte den Punkt nach wx.FileDialog und wx.Open:
statt:
d = wxFileDialog ( None, style = wxOPEN )
also:
d = wx.FileDialog ( None, style = wx.OPEN )
Hilfreich ist auch immer das Demo, falls du es noch nicht heruntergeladen hast. Da kannst du auch den Code (zum Testen) ändern und diesen dann ausführen.
Man beachte den Punkt nach wx.FileDialog und wx.Open:
statt:
d = wxFileDialog ( None, style = wxOPEN )
also:
d = wx.FileDialog ( None, style = wx.OPEN )
Hilfreich ist auch immer das Demo, falls du es noch nicht heruntergeladen hast. Da kannst du auch den Code (zum Testen) ändern und diesen dann ausführen.
Vielen Dank!
So funktionierts Fehler- und Warning-frei:
Ich kann ja leider nicht feststellen, was alt und was neu,
gültig, oder nicht mehr gültig ist, da ich Beides ja nicht kenne.
Übrigens, welches Demo meinst Du? Da sind bei Python und wxPython eine Reihe von Links, aber nach dem ersten Durchwühlen habe ich noch kein Demo gefunden.
Gruß
Michael

So funktionierts Fehler- und Warning-frei:
Code: Alles auswählen
import wx
application = wx.PySimpleApp()
# Create an open file dialog
dialog = wx.FileDialog ( None, style = wx.OPEN )
# Show the dialog and get user input
if dialog.ShowModal() == wx.ID_OK:
print 'Selected:', dialog.GetPath()
# The user did not select anything
else:
print 'Nothing was selected.'
# Destroy the dialog
dialog.Destroy()
gültig, oder nicht mehr gültig ist, da ich Beides ja nicht kenne.
Übrigens, welches Demo meinst Du? Da sind bei Python und wxPython eine Reihe von Links, aber nach dem ersten Durchwühlen habe ich noch kein Demo gefunden.
Gruß
Michael
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
In dem Paket wo die Dokumentation drin ist, ist auch ein großes Demoprogramm dabei, wo viele Widgets demonstriert werden und mit Code wie man sie nutzt. Die ist sehr praktisch und sehr empfehlenswert, wenn man mit wxPython programmieren will.rednose hat geschrieben:Übrigens, welches Demo meinst Du? Da sind bei Python und wxPython eine Reihe von Links, aber nach dem ersten Durchwühlen habe ich noch kein Demo gefunden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice