Форум сайта python.su
Собственно сейчас для выбора файла используется следующая конструкция с обычной кнопкой:
# ... fileselButton = gtk.Button("Browse") fileselButton.connect("clicked", self.open_file_dialog) # ... def open_file_dialog(self, widget): self.chooser = gtk.FileChooserDialog(title=None,action=gtk.FILE_CHOOSER_ACTION_OPEN, buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN,gtk.RESPONSE_OK)) self.chooser.set_current_folder(os.environ['HOME']) self.chooser.set_default_response(gtk.RESPONSE_OK) filter = gtk.FileFilter() filter.set_name("Images") filter.add_mime_type("image/png") filter.add_mime_type("image/jpeg") filter.add_mime_type("image/gif") filter.add_pattern("*.png") filter.add_pattern("*.jpg") filter.add_pattern("*.gif") self.chooser.add_filter(filter) # preview of selected file previewImage = gtk.Image() self.chooser.set_preview_widget(previewImage) self.chooser.set_use_preview_label(False) self.chooser.connect("update-preview", self.update_preview, previewImage) height = 0 dest_height = 150 width = 0 response = self.chooser.run() if response == gtk.RESPONSE_OK: self.filename = self.chooser.get_filename() pixbuf = gtk.gdk.pixbuf_new_from_file(self.filename) height = pixbuf.get_height() width = pixbuf.get_width() dest_width = int((float(dest_height) / float(height)) * width) scaled_buf = pixbuf.scale_simple(dest_width, dest_height, gtk.gdk.INTERP_BILINEAR) self.image.set_from_pixbuf(scaled_buf) self.label.set_text(os.path.basename(self.filename)) self.chooser.destroy()
Отредактировано (Авг. 12, 2007 20:17:04)
Офлайн
Ну в общем, как стало ясно из рассылки c pygtk.org
…Что значит “Ну ой…”
AFAICT the FileChooserButton is a replacement for using an entry/label
and associated file browser button. It only allows selecting one
existing file or folder and displays the name of the selected file in
the button label.
…
Отредактировано (Авг. 15, 2007 17:01:24)
Офлайн