Найти - Пользователи
Полная версия: [PyGTK] Как правильно использовать gtk.FileChooserButton?
Начало » GUI » [PyGTK] Как правильно использовать gtk.FileChooserButton?
1
pento
Собственно сейчас для выбора файла используется следующая конструкция с обычной кнопкой:
# ...
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()

Не совсем понимаю как подобное сделать с помощью gtk.FileChooserButton.
pento
Ну в общем, как стало ясно из рассылки 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.
Что значит “Ну ой…”
То есть по сути это аналог HTML <input type=“file”> и отловить response диалога видимо не получится.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB