Dateiauswahl-Dialog

 

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.

../../../_images/Dateiauswahl-Dialog.png

Konstruktor

class gtk.FileChooserDialog(title=None, parent=None, action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=None, backend=None)
Parameters:
  • 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

Parameters:action – Eine der Dateiauswahl-Konstanten
set_select_multiple(select_multiple)

Legt fest, ob der Anwender mehrere Dateien/Ordner auswähle kann.

Parameters: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

Returns:´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()

Returns: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()

Parameters:filename – Name und Pfad der auszuwählenden Datei
Returns: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.

Returns: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.

Parameters:filename – Name und Pfad der auszuwählenden Datei
Returns: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.

Parameters: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

Parameters:filename – Vollständiger Pfad des neuen Ordners
Returns:True, falls der Ordnerwechsel erfolgreich war, andernfalls False
get_current_folder()

Gibt den aktuellen Ordner zurück

Returns:Name des aktuellen Ordners
set_show_hidden(show_hidden)

Legt fest, ob versteckte Dateien und Ordner angezeigt werden. Siehe auch get_show_hidden()

Parameters:show_hiddenTrue, falls versteckte Dateien und Ordner angezeigt werden sollen, andernfalls False
get_show_hidden()

Gibt zurück, ob versteckte Dateien und Ordner angezeigt werden Siehe auch set_show_hidden()

Returns: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()