[UOS] uos 如何通过 app 桌面快捷方式精准找到Icon的位置
Tofloor
poster avatar
187******90
deepin
2024-12-11 17:18
Author

不同的桌面主题拥有同一个图标名称,无法区分哪个是桌面当前显示的图标
image.png

使用QT 的QIcon::fromTheme() 在不同的路径下执行任务,获取到的是不同的图标主题,我需要在系统路径下去获取桌面的图标主题,强行设置bloom主题的话,QIcon::fromTheme()获取不到图片信息,这是为什么,有没有别的方法或者命令能直接找到icon路径

Reply Favorite View the author
All Replies
187******90
deepin
2024-12-11 17:23
#1

快捷方式里面大部分都是这种不带路径的Icon,带路径的可以

image.png

Reply View the author
把一切操作变成GUI
deepin
Backbone of ecological co-construction group
2024-12-11 17:44
#2

绝对路径

如果 Icon 字段包含一个绝对路径(例如 /usr/share/icons/hicolor/48x48/apps/app-icon.png),桌面环境会直接尝试加载该路径的图标文件。

如果路径不存在或者文件无效,则继续下面。

不带后缀的图标名称

如果 Icon 字段仅指定了一个名称(例如 app-icon),桌面环境会在标准的图标搜索路径中查找对应的图标文件,这些路径包括用户本地目录(~/.icons/)、系统共享目录(/usr/share/icons/)以及其他指定的主题目录。

查找时,会尝试不同的图标后缀(如 .png、.svg、.xpm 等)。

图标主题

桌面环境会根据当前使用的图标主题(通常由用户设置)来搜索图标。以下是图标搜索的标准路径:

用户的本地图标目录:~/.icons/<主题名>

系统的共享图标目录:/usr/share/icons/<主题名>

在每个主题目录中,会根据图标的大小和类别(如 apps/、actions/ 等)寻找匹配的文件。

继承的图标主题

如果当前主题没有找到指定的图标,桌面环境会查找该主题声明的继承主题(index.theme 文件中的 Inherits 字段),然后在继承主题中继续搜索。

默认图标主题

如果指定主题及其继承主题中都未找到图标,系统会使用默认的图标主题(通常是 hicolor)。

默认主题路径:/usr/share/icons/hicolor/。

备选路径

如果默认主题也没有找到图标,系统可能会检查 /usr/share/pixmaps/ 目录。该目录通常用于存放不遵循图标主题的图标文件。

Reply View the author
字甲达宾
deepin
2024-12-11 21:31
#3
  1. 看 *.desktop 里面, icon 这行,后面的图标文件名。比如 dde-printer

  2. 查询图标(适用于所有 deb 格式 的 Linux 系统)

    dpkg -S dde-printer

Reply View the author
小图巴巴
deepin
2024-12-12 11:30
#4

agree applaud

Reply View the author