Найти - Пользователи
Полная версия: [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