Пример #1
0
    def __init__(self, image_path, image_size=None, markup=None):
        Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=5)

        self.image_file = Gio.File.new_for_path(image_path)
        self.image_widget = Gtk.Image()

        self.image_label = Gtk.Label(label=self.image_file.get_basename(), justify=Gtk.Justification.CENTER)

        if markup is not None:
            self.set_markup(markup)

        self.set_center_widget(self.image_widget)
        self.pack_end(self.image_label, True, True, 0)

        if image_size is not None:
            self.set_size_request(image_size, image_size)
            Pixbuf.new_from_stream_at_scale_async(self.image_file.read(), image_size, image_size, True, None, self._set_image_callback)
        else:
            Pixbuf.new_from_stream_async(self.image_file.read(), None, self._set_image_callback)