更改QGIS插件的图标,为什么它在菜单/工具栏中没有更改?


11

我一直在编写QGIS插件(使用“插件生成器”插件),并决定要更改图标(icon.png)。

运行make deploy在本地重建插件后,新图标将显示在插件管理器中(在插件列表和插件描述面板中)。到目前为止,一切都很好。

但是,旧图标仍保留在菜单和工具栏图标中。

我已经确定metadata.txt中的icon.png是正确的,并被复制到我的〜/ .qgis / python / plugins / myplugin目录中。

这尤其令人困惑-我不是要替换默认插件图标,而是我先前创建的用于替换默认插件图标的图标。所以这在...之前已经起作用了::/

我已经尝试过这些...

  • 重新启动QGIS
  • 卸载,然后使用插件管理器重新安装插件
  • 使用make derase销毁插件,然后执行make deploy
  • 使用“插件重新加载器”插件重新加载插件

QGIS是否将图标缓存在某处?那是我能想到的唯一解释。如果可以,是否有任何刷新缓存的方法?

我在Ubuntu 14.04上使用QGIS 2.10.1 Pisa。我正在使用“插件生成器” 2.8.3版

我怀疑这对于以前没有安装过插件的人来说都不是问题,但这有点奇怪。

Answers:


26

在QGIS 3中,需要做的是

pyrcc5 -o resources.py resources.qrc 

您的插件图标已转换为字节数组并保存在 resources.py

因此,如果要更改此图标,则必须再次编译资源:

pyrcc4 -o resources.py resources.qrc 

1
在遵循您的建议并重新启动QGIS之后,该图标已更改..谢谢!
史蒂文·凯

3
..如果不工作,make clean随后make deploy将删除编译的资源,并迫使图标重建
史蒂芬凯

这给了我无效的语法。
Sunny Naik

1

除了dmh126的答案之外,请确保您没有意外删除导入,从而防止编译资源python代码。例如,如果您的资源文件是“ resources.py”(假设未嵌套python文件),则应搜索项目以确保代码中包含以下行:

import resources

另外,您可以删除resources.pyc并重新加载插件以确保确实对其进行了编译。


1

使用QGIS Brighton 2.6.1时,我遇到了类似的问题。我按照您的指示/提示操作,解决方法是:

  • 打开OSGeo4W Shell并通过键入以下命令更改为插件文件夹MyPlugin: cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin

  • 类型:(make clean删除resource_rc.py)

  • 类型:(make deploy从resouce.qrc输出新的resource_rc.py)
  • 在QGIS插件管理器中,禁用并重新启用插件(输出新的编译后的resource_rc.pyc),新的图片/徽标已更改。

谢谢!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.