我正在开发一个程序,我想实现表示钥匙圈状态seahorse
的图标。如果你启动它,你会看到它有相同的挂锁图标,但有两种状态:锁定和解锁。
我找不到解锁的图标名称。里面有很多锁着的挂锁,/usr/share/icons
但我没有找到任何解锁的图标。
所以,我的问题是,我可以用方法使用的图标的名称是什么set_from_icon_name
。
注意:stock_lock-open
不是我要找的人。
答案1
以下是取自 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()
唯一的问题是深色版本。我无法将该create_spotlight_pixbuf
函数翻译成 Python。
您可能还想看看GtkLockButton
。