Problem mit gtk.FileChooserDialog.set_filename()

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
Benutzeravatar
atarax
User
Beiträge: 44
Registriert: Samstag 14. Juni 2008, 22:49
Wohnort: Berlin
Kontaktdaten:

Ich habe einen gtk.FileChooserDialog, mit dem ich einen Ordner auswählen möchte. Ich kann den Ordner mit set_filename("/home/atarax/Desktop") voreinstellen. Die Voreinstellung von set_filename("/home/atarax/Desktop/Rip") schlägt aber fehl, obwohl der Ordner existiert. Ich habe es mit verschiedenen Pfaden probiert, und wie es scheint, lässt sich der Pfad nur für die Ordner unmittelbar innerhalb des Benutzerordners einstellen, aber nicht eine oder mehrere Ebenen tiefer. Allerdings glaube ich nicht so ganz, dass das eine gewollte Beschränkung dieser Methode ist, sondern dass ich einen Denkfehler habe. Hier mal das Snippet:

Code: Alles auswählen

self.filechooser = gtk.FileChooserDialog("Select target folder...", None, gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER, (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, gtk.RESPONSE_OK))
self.filechooser.set_default_response(gtk.RESPONSE_OK)
self.filechooser.set_filename("/home/atarax/Desktop/Rip")      
self.widTargetDirCombo = gtk.FileChooserButton(self.filechooser)
self.widTargetDirCombo.show()
Was ist hier falsch?
http://www.decocode.de/
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Hast du mit `gtk.FileChooser.set_current_folder` das selbe Problem?

Oder vielleicht zuerst den Überordner mit `set_current_folder` und dann den Ordner mit `set_filename`. Nach deiner Beschreibung vermute ich, dass du nur einen Ordner des aktuellen Pfades auswählen kannst (dies ist ja per Default der Benutzerordner).
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
Benutzeravatar
atarax
User
Beiträge: 44
Registriert: Samstag 14. Juni 2008, 22:49
Wohnort: Berlin
Kontaktdaten:

Mit set_current_folder() kann ich nicht einmal den ersten Unterordner meines Home-Verzeichnisses auswählen. Ich weiß nicht, ob das relevant ist, aber obwohl die Methode zu keiner Fehlermeldung führt, ist sie in der Dokumentation unter gtk.FileChooser und nicht unter gtk.FileChooserDialog aufgeführt. Vielleicht eine Spur. Ich dachte, set_current_folder() dient dazu, den Ordner festzulegen, der in dem Dialog als erstes angezeigt wird (hängt also nicht wirklich mit meinem Problem zusammen). Die Einstellung hat bei mir aber ohnehin keinerlei spürbare Wirkung.
http://www.decocode.de/
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

atarax hat geschrieben:Ich weiß nicht, ob das relevant ist, aber obwohl die Methode zu keiner Fehlermeldung führt, ist sie in der Dokumentation unter gtk.FileChooser und nicht unter gtk.FileChooserDialog aufgeführt.
Nein, das ist nicht relevant, da der FileChooserDialog eine Unterklasse von FileChooser und Dialog ist.

Versuch es vielleicht auch mal ohne den `FileChooserButton`, eventuell hat dieser irgendwelche Nebeneffekte.
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher

http://ms4py.org/
Benutzeravatar
atarax
User
Beiträge: 44
Registriert: Samstag 14. Juni 2008, 22:49
Wohnort: Berlin
Kontaktdaten:

Danke für den Tipp mit dem FileChooserButton, obwohl ich genau das Gegenteil von dem gemacht habe, was du mir geraten ist:

self.widTargetDirCombo.set_filename("/home/atarax/Desktop/Rip")

war die Lösung.
http://www.decocode.de/
Antworten