У меня есть Gio.Icon (или GIcon в C, я использую pygobject).Прямо сейчас я использую следующий код для создания Gtk.Image из Gio.Icon:
image = icon and Gtk.Image(gicon=icon, icon_size=Gtk.IconSize.DIALOG, pixel_size=48, use_fallback=True)
Проблема в том, что Gio.Icon не гарантируется правильное имя иконки /путь и когда это не так, он показывает значок разбитого изображения.Я бы хотел использовать другой значок, который, как я знаю, существует, если поставляемый Gio.Icon недействителен.Есть ли какой-нибудь способ узнать, является ли Gio.Icon недействительным или Gtk.Image будет отображаться как разорванное изображение?
EDIT
Минимальный пример:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gio
win = Gtk.Window()
win.connect('destroy', Gtk.main_quit)
icon = Gio.Icon.new_for_string('gnome-garbage')
fallback_icon = Gio.Icon.new_for_string('folder')
image = Gtk.Image(gicon=icon, icon_size=Gtk.IconSize.DIALOG, pixel_size=48)
win.add(image)
win.show_all()
Gtk.main()