Cambiando el ícono del complemento QGIS, ¿por qué no cambia en el menú / barra de herramientas?

11

He estado escribiendo un complemento QGIS (usando el complemento "Creador de complementos") y decidí que quería cambiar el ícono (icon.png).

Después de ejecutar make deploy para reconstruir el complemento localmente, el nuevo icono aparece en el Administrador de complementos (tanto en la lista de complementos como en el panel de descripción del complemento). Hasta ahora tan bueno.

Sin embargo, el ícono anterior persiste en el menú y los íconos de la barra de herramientas.

He establecido que icon.png es correcto en metadata.txt y se está copiando en mi directorio ~ / .qgis / python / plugins / myplugin .

Esto es especialmente desconcertante: no estoy reemplazando el ícono del complemento predeterminado, sino un ícono que creé previamente para reemplazar el ícono del complemento predeterminado. Entonces esto ha funcionado antes ...: /

He intentado estos ...

  • reiniciar QGIS
  • desinstalar, luego reinstalar el complemento usando el administrador de complementos
  • destruir el complemento usando make derase seguido de make deploy
  • Vuelva a cargar el complemento utilizando el complemento "Recargador de complementos"

¿QGIS almacena en caché los iconos en alguna parte? Esa es la única explicación que se me ocurre. Si es así, ¿hay alguna forma de vaciar el caché?

Estoy usando QGIS 2.10.1 Pisa en Ubuntu 14.04. Estoy usando "Plugin Builder" versión 2.8.3

Sospecho que no será un problema para nadie que no haya instalado el complemento antes, pero es un poco extraño.

Steven Kay
fuente

Respuestas:

26

En QGIS 3, uno tiene que hacer

pyrcc5 -o resources.py resources.qrc 

Su icono de complemento se convirtió en una matriz de bytes y se guardó en resources.py

Entonces, si desea cambiar este ícono, debe volver a compilar sus recursos:

pyrcc4 -o resources.py resources.qrc 
dmh126
fuente
1
después de seguir sus consejos y reiniciar QGIS, el icono ha cambiado ... ¡gracias!
Steven Kay
3
.. y si eso no funciona, make cleanseguido make deployeliminará el recurso compilado y forzará la reconstrucción del ícono
Steven Kay
Esto me da una sintaxis no válida.
Sunny Naik
1

Además de la respuesta de dmh126, asegúrese de no haber eliminado accidentalmente la importación y, por lo tanto, evitó que se compilara el código python de recursos. Por ejemplo, si su archivo de recursos es 'resources.py', suponiendo que los archivos de Python no estén anidados, buscará su proyecto para asegurarse de que su código tenga la línea:

import resources

Alternativamente, puede eliminar resources.pycy volver a cargar el complemento para asegurarse de que realmente se está compilando.

Bolsillos y
fuente
1

Tuve un problema similar al usar QGIS Brighton 2.6.1. Seguí tus instrucciones / consejos y las soluciones fueron:

  • Abra OSGeo4W Shell y cambie a la carpeta de complementos MyPlugin escribiendo: cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin

  • Tipo: make clean(elimina el resource_rc.py)

  • Tipo: make deploy(de resouce.qrc genera nuevo resource_rc.py)
  • En el administrador de complementos de QGIS, deshabilite y vuelva a habilitar el complemento (genera nuevos recursos compilados_rc.pyc) y las nuevas imágenes / logotipos cambiaron.

¡Gracias!

Frederik Eistrup
fuente