当前使用的图标主题的引用存储在哪里?

有几个相关的问题,但我发现没有一个真正回答到这个细节: 当前图标主题的引用存储在哪里? 由于图标主题可以更改,因此其文件夹的路径也会随之改变,所以它必须存储在某个地方。我正在开发一个应用程序,并希望从当前使用的图标主题中绘制自己的图标。我看到了answers中使用Python和Gtk检索路径的方法,但我正在使用PyQt,并且希望避免导入Gtk。
是否有一个配置文件保存当前图标主题的名称或路径?或者您知道PyQt的方法来实现这一点吗?
3个回答

在中可以找到对当前图标主题的引用: > > >

enter image description here

你也可以直接阅读~/.gconf/desktop/gnome/interface$ cat %gconf.xml文件。
不幸的是,这并没有提供到相关图标主题的路径。我会检查一下这个设置与路径的关系,并告诉你的;-)

1是的,这很有趣。特别是在你的情况下——Faenza Darkest——它本身就是不完整的,并且大部分图标都来自主要的Faenza主题。 - neydroydrec
我的情况并不是最好的例子,因为我安装了Gnome3,所以我的系统目前混合了gconf和dconf的设置...但无论如何... - Pavlos G.

看一下PyXDG(Ubuntu中的python-xdg包)。xdg.IconTheme.getIconPath(iconname)可以获得给定图标的路径。

这不给我当前主题的图标。如果我使用IconTheme.getIconPath('anki')的结果,它会返回/usr/share/pixmaps/anki.xpm,但这是不正确的,因为当前主题是'Faenza',Anki对应的文件位于~/.icons/Faenza/Apps/。Anki的桌面文件也没有指定这个pixmaps路径。 - neydroydrec
假设你得到了图标主题的名称,你可以使用:foo1 = xdg.IconTheme.getIconPath(full_executable_name, size=None, theme='THEME-NAME', extensions=['png', 'svg', 'xpm']) 但我不知道如何首先查询图标主题的名称 ;) - dufte

这看起来太简单了,所以我可能在这里漏掉了什么... 但是关于这个问题呢:
icon = QIcon.fromTheme("firefox")

QT应该自己处理这个问题。

谢谢。确实,根据文档的说法,应该可以工作:) 我会试一下。 - neydroydrec