Aqui você vai, tirado da fonte Seahorse:
from gi.repository import Gtk, Gio
icon_theme = Gtk.IconTheme.get_default()
def get_pixbuf_from_themed_icon(name, size):
icon = Gio.ThemedIcon.new_with_default_fallbacks(name)
icon_info = icon_theme.lookup_by_gicon(icon, size, 0)
return icon_info.load_icon()
pixbuf_lock = get_pixbuf_from_themed_icon("changes-prevent-symbolic", 48)
pixbuf_unlock = get_pixbuf_from_themed_icon("changes-allow-symbolic", 48)
win = Gtk.Window()
win.resize(300, 300)
win.connect('delete-event', Gtk.main_quit)
vbox = Gtk.VBox(False, 4)
img_lock = Gtk.Image.new_from_pixbuf(pixbuf_lock)
vbox.pack_start(img_lock, False, False, 0)
img_unlock = Gtk.Image.new_from_pixbuf(pixbuf_unlock)
vbox.pack_start(img_unlock, False, False, 0)
win.add(vbox)
win.show_all()
Gtk.main()
O único problema é a versão escura. Não consegui traduzir a função create_spotlight_pixbuf
para o Python.
Você também pode querer olhar para o GtkLockButton
.