gtk.FileChooser Auslesen welcher Dateiname eingegeben wurde

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
ltownatze
User
Beiträge: 28
Registriert: Donnerstag 8. April 2010, 16:02

Hi,

ich möchte einen 'Save-As-Dialog' erstellen, der funktioniert auch gut solange man eine Datei auswählt die schon existiert.

Code: Alles auswählen

def on_dialog_save_as_selection_changed(self, widget):
    self.addressbook = self.save_as_dialog.get_filename()
Meine Frage ist nun: Wie setze ich self.addressbock so, dass es dem Dateinamen entspricht der im Dialog im Textfeld 'Name:' eingegeben wurde, und nicht dem Dateiname der selektierten Datei?

Hoffe ich hab mich verständlich ausgedrückt
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Du darfst das halt nicht bei dem Callback abfragen, sondern am Ende des Dialogs. Bei deiner Lösung wird die Variable immer nur neu gesetzt, wenn der Benutzer ein Item ausgewählt hat, beim Klick auf OK wird das allerdings gar nicht ausgelöst.

Code: Alles auswählen

diag = gtk.FileChooserDialog('Dateien exportieren', 
                             action=gtk.FILE_CHOOSER_ACTION_SAVE,
                             buttons=(gtk.STOCK_CANCEL,
                                      gtk.RESPONSE_CANCEL,
                                      gtk.STOCK_SAVE,gtk.RESPONSE_OK))
        
res = diag.run()
fname = diag.get_filename()
diag.destroy()
        
if res == gtk.RESPONSE_OK:
    #process `fname`
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
ltownatze
User
Beiträge: 28
Registriert: Donnerstag 8. April 2010, 16:02

Das funktioniert, schönen Dank!
Antworten