如何将(Py)Gtk-Gio.ThemedIcon转换为(Py,Qt5)中可用的任何内容(QImage,QIcon等)



我有这样的代码,它可以获得linux系统中所有能够打开png文件的程序的列表:

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gio
app_list = Gio.app_info_get_all_for_type('image/png')

然后我可以通过获得程序的图标

app = app_list[0]
g_icon = app.get_icon()

这将返回<Gio.ThemedIcon object at 0x7f2681640d80 (GThemedIcon at 0x25500a0)>
如何将此Gio.ThemedIcon对象转换为任何内容(pixbuf、字节等),然后可以用来创建QIcon或QImage?

ThemedIcon具有get_names()函数,该函数返回可能的主题名称列表。您可以使用静态fromTheme()在Qt:中获取图标

app = app_list[0]
g_icon = app.get_icon()
for name in g_icon.get_names():
icon = QtGui.QIcon.fromTheme(name)
if not icon.isNull():
break

相关内容

  • 没有找到相关文章

最新更新