Changer l'icône du plugin QGIS, pourquoi ne change-t-il pas dans le menu / barre d'outils?

11

J'ai écrit un plugin QGIS (en utilisant le plugin "Plugin Builder"), et j'ai décidé que je voulais changer l'icône (icon.png).

Après avoir exécuté make deploy pour reconstruire le plugin localement, la nouvelle icône apparaît dans Plugin Manager (à la fois dans la liste des plugins et dans le panneau de description du plugin). Jusqu'ici tout va bien.

Cependant, l'ancienne icône persiste dans le menu et les icônes de la barre d'outils.

J'ai établi que le fichier icon.png est correct dans le metadata.txt et qu'il est copié dans mon répertoire ~ / .qgis / python / plugins / myplugin .

C'est particulièrement déroutant - je ne remplace pas l'icône du plugin par défaut, mais une icône que j'ai créée précédemment pour remplacer l'icône du plugin par défaut. Donc, cela a fonctionné avant ...: /

J'ai essayé ça ...

  • redémarrage de QGIS
  • désinstaller, puis réinstaller le plugin à l'aide du gestionnaire de plugins
  • détruire le plugin en utilisant make derase suivi de make deploy
  • recharger le plugin en utilisant le plugin "Plugin reloader"

QGIS cache-t-il les icônes quelque part? C'est la seule explication à laquelle je peux penser. Si c'est le cas, existe-t-il un moyen de vider le cache?

J'utilise QGIS 2.10.1 Pisa sur Ubuntu 14.04. J'utilise la version 2.8.3 de "Plugin Builder"

Je soupçonne que ce ne sera pas un problème pour quiconque n'a pas installé le plugin auparavant, mais c'est un peu étrange.

Steven Kay
la source

Réponses:

26

Dans QGIS 3, il faut faire

pyrcc5 -o resources.py resources.qrc 

L'icône de votre plugin a été convertie en tableau d'octets et enregistrée dans resources.py

Donc, si vous voulez changer cette icône, vous devez à nouveau compiler vos ressources:

pyrcc4 -o resources.py resources.qrc 
dmh126
la source
1
après avoir suivi vos conseils et redémarré QGIS, l'icône a changé .. merci!
Steven Kay
3
.. et si cela ne fonctionne pas, make cleansuivi de make deploysupprimera la ressource compilée et forcera la reconstruction de l'icône
Steven Kay
Cela me donne une syntaxe invalide.
Sunny Naik
1

En plus de la réponse de dmh126, assurez-vous que vous n'avez pas supprimé accidentellement l'importation et ainsi empêché la compilation du code python des ressources. Par exemple, si votre fichier de ressources est 'resources.py' - en supposant que les fichiers python ne sont pas imbriqués - vous feriez une recherche dans votre projet pour vous assurer que votre code a la ligne:

import resources

Alternativement, vous pouvez supprimer resources.pycet recharger le plugin pour vous assurer qu'il est bien compilé.

Pocketsand
la source
1

J'ai eu un problème similaire en utilisant QGIS Brighton 2.6.1. J'ai suivi vos intructions / conseils et les solutions étaient:

  • Ouvrez le shell OSGeo4W et accédez au dossier du plugin MyPlugin en tapant: cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin

  • Type: make clean(supprime le resource_rc.py)

  • Type: make deploy(à partir de resouce.qrc génère un nouveau resource_rc.py)
  • Dans le gestionnaire de plug-ins QGIS, désactivez et réactivez le plug-in (génère la nouvelle ressource_rc.pyc compilée) et les nouvelles images / logos ont été modifiés.

Merci!

Frederik Eistrup
la source