con*_*use 4 indicator themes icons python application-development
如何获取可以插入的字符串而不是“gtk-execute”?
#!/usr/bin/python
import gobject
import gtk
import appindicator
if __name__ == "__main__":
ind = appindicator.Indicator("example-simple-client", "gtk-execute",
appindicator.CATEGORY_APPLICATION_STATUS)
ind.set_status (appindicator.STATUS_ACTIVE)
menu = gtk.Menu()
for i in range(3):
buf = "Test-undermenu - %d" % i
menu_items = gtk.MenuItem(buf)
menu.append(menu_items)
menu_items.connect("activate", gtk.main_quit)
menu_items.show()
ind.set_menu(menu)
gtk.main()
Run Code Online (Sandbox Code Playgroud)
我在下面的回答几乎可以做到。不过,如果有一些 Python 代码可以显示所有可用的图标,那就太好了。
Ste*_*zzo 13
简单的:
import gtk
icon_theme = gtk.icon_theme_get_default()
print icon_theme.list_icons()
Run Code Online (Sandbox Code Playgroud)
其输出是所有图标名称的元组:
('input-gaming', 'gnome-aorta', 'stock_bottom', 'config-language', ...)
Run Code Online (Sandbox Code Playgroud)
另请参阅:pygtk 文档中的gtk.IconTheme.list_icons
如果您想将图标设为GtkPixbuf,可以使用以下load_icon方法:
>>> icon_theme.load_icon("gtk-execute", 48, 0)
<gtk.gdk.Pixbuf object at 0xb737443c (GdkPixbuf at 0x907bf38)>
Run Code Online (Sandbox Code Playgroud)
如果你想要一个文件名,你可以使用以下lookup_icon方法:
>>> icon_theme.lookup_icon("gtk-execute", 48, 0).get_filename()
/usr/share/icons/Humanity/actions/48/gtk-execute.svg
Run Code Online (Sandbox Code Playgroud)
48所需图标的大小在哪里(另请参阅:)get_icon_sizes。
| 归档时间: |
|
| 查看次数: |
3487 次 |
| 最近记录: |