Dateiauswahl-Dialog¶
gtk.FileChooserDialog ist ein fertiger Dialog, mit dem der Benutzer Datei- oder Verzeichnisnamen auswählen kann. Über die Dateiauswahl-Konstanten lässt er sich an unterschiedliche Funktionen anpassen.
Mit set_select_multiple() lässt sich festlegen, ob der Anwender nur eine oder mehrere Dateien oder Ordner auswählen kann.
Konstruktor¶
- class gtk.FileChooserDialog(title=None, parent=None, action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=None, backend=None)¶
Parameter: - title – Der Titel des Fensters
- parent – Das Elternfenster des Dialogs
- action – Eine der Dateiauswahl-Konstanten.
- buttons – Entspricht dem Parameter buttons von gtk.Dialog
Wichtige Signale¶
gtk.FileChooserDialog implementiert alle Signale von gtk.Dialog
Wichtige Methoden¶
gtk.FileChooserDialog implementiert alle Methoden von gtk.Dialog. Außerdem interessant sind:
- set_action(action)¶
Legt fest, was der Anwender auswählen kann
Parameter: - action – Eine der Dateiauswahl-Konstanten
- set_select_multiple(select_multiple)¶
Legt fest, ob der Anwender mehrere Dateien/Ordner auswähle kann.
Parameter: - select_multiple – ´True`, falls der Anwender mehrere Dateien/Ordner auswählen können soll. Andernfalls False
- get_select_multiple()¶
Gibt zurück, ob der Anwender mehrere Dateien/Ordner auswählen kann
Rückgabe: ´True`, falls der Anwender mehrere Dateien/Ordner auswählen kann. Andernfalls False
- get_filename()¶
Gibt den momentan ausgewählten Datei- oder Ordnernamen zurück. Fall der Dialog Mehrfach-Auswahl erlaubt, gibt die Methode irgendeinen der ausgewählten Namen zurück. Verwenden Sie in diesem Fall get_filenames()
Rückgabe: Momentan ausgewählten Dateinamen oder None, falls keine Datei ausgewählt wurde
- set_filename(filename)¶
Wählt genau eine Datei oder einen Ordner aus. Falls die Datei nicht im aktuell angezeigten Ordner ist, wechselt der Dialog in den entsprechenden Ordner. Falls die Datei nicht existiert, wird nur der Ordner gewechselt.
Diese Methode ist äquivalent zu unselelect_all() gefolgt von select_filename()
Parameter: - filename – Name und Pfad der auszuwählenden Datei
Rückgabe: True, falls der Ordner erfolgreich gewechselt werden konnte (falls das nötig war) und die Datei erfolgreich ausgewählt wurde. Andernfalls False
- get_filenames()¶
Gibt eine Liste den momentan ausgewählten Datei- oder Ordnernamen zurück.
Rückgabe: Liste der momentan ausgewählten Datei- oder Ordnername
- select_filename(filename)¶
Wählt eine Datei oder einen Ordner aus. Falls die Datei nicht im aktuell angezeigten Ordner ist, wechselt der Dialog in den entsprechenden Ordner. Falls die Datei nicht existiert, wird nur der Ordner gewechselt.
Parameter: - filename – Name und Pfad der auszuwählenden Datei
Rückgabe: True, falls der Ordner erfolgreich gewechselt werden konnte (falls das nötig war) und die Datei erfolgreich ausgewählt wurde. Andernfalls False
- unselect_filename(filename)¶
Wählt eine Datei oder einen Ordner ab. Falls die Datei nicht im aktuell angezeigten Ordner ist, nicht existiert oder nicht ausgewählt ist, macht diese Methode garnichts.
Parameter: - filename – Name und Pfad der hervorzuhebenden Datei
- select_all()¶
Wählt alle Dateien im aktuellen Ordner aus.
- unselect_all()¶
Wählt alle Dateien im aktuellen Ordner ab.
- set_current_folder(filename)¶
Wechselt den aktuellen Ordner
Parameter: - filename – Vollständiger Pfad des neuen Ordners
Rückgabe: True, falls der Ordnerwechsel erfolgreich war, andernfalls False
- get_current_folder()¶
Gibt den aktuellen Ordner zurück
Rückgabe: Name des aktuellen Ordners
Legt fest, ob versteckte Dateien und Ordner angezeigt werden. Siehe auch get_show_hidden()
Parameter: - show_hidden – True, falls versteckte Dateien und Ordner angezeigt werden sollen, andernfalls False
Gibt zurück, ob versteckte Dateien und Ordner angezeigt werden Siehe auch set_show_hidden()
Rückgabe: True, falls versteckte Dateien und Ordner angezeigt werden. Andernfalls False
Beispiel¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | dlg = gtk.FileChooserDialog(title='Datei speichern',
action=gtk.FILE_CHOOSER_ACTION_SAVE,
buttons=(gtk.STOCK_CANCEL,
gtk.RESPONSE_REJECT,
gtk.STOCK_OK,
gtk.RESPONSE_OK))
dlg.set_filename('/tmp/test/test.txt')
result = dlg.run()
if result == gtk.RESPONSE_OK:
path = dlg.get_filename()
else:
path = None
dlg.destroy()
|
