核心问题:
如何将 mimetype - image/png
转换为图标文件的实际路径 - /usr/share/icons/Menda-Circle/mimetypes/24x24/application-image-png .svg
同时尊重linux distros DE的图标主题集?
自己的进步:
mimetypes.guess_type() 会根据文件名轻松获取文件的 mimetype,这是 OKish。
将 mimetype 翻译成通向图标的路径并不容易
到目前为止,我在使用 linux 自己的 xdg-utils 或 pyxdg 检测图标主题或超越它方面没有任何进展。 PyQt5 似乎也有问题,这在大多数 DE 不是基于 Qt 的情况下是可以理解的。也许在 KDE 上它会得到一些东西。
因此,通过一些谷歌搜索,我可以使用它通过 Gtk 检测图标主题
from gi.repository import Gtk
print(Gtk.Settings.get_default().get_property("gtk-icon-theme-name"))
这就是我现在的处境,我想通过一些工作并针对所有情况进行调整,我可以想出一些函数来获取最常见的发行版/DE 上的图标和最常见的图标主题。假设我找出将 mimetype 转换为图标文件名的模式。
但这一切都感觉应该完成并且已经完成了。它是一些自由桌面标准,每个文件管理器或任何带有文件选择器或显示文件和文件夹的程序都在使用此功能,不是吗?
是否有一些优雅的方式来解决这个问题?
最佳答案
Gio 的 ContentType 为您处理获取文件类型及其图标:
https://lazka.github.io/pgi-docs/#Gio-2.0/functions.html#Gio.content_type_get_icon
关于python - 根据文件的mimetype获取图标,Linux + Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34568727/