Alterando o ícone do plugin QGIS, por que não muda no menu / barra de ferramentas?

11

Eu escrevi um plug-in QGIS (usando o plug-in "Plugin Builder") e decidi que queria mudar o ícone (icon.png).

Depois de executar o make deploy para reconstruir o plug-in localmente, o novo ícone aparece no Gerenciador de plug-ins (na lista de plug-ins e no painel de descrição do plug-in). Por enquanto, tudo bem.

No entanto, o ícone antigo persiste no menu e nos ícones da barra de ferramentas.

Eu estabeleci que o icon.png está correto no metadata.txt e está sendo copiado para o meu diretório ~ / .qgis / python / plugins / myplugin .

Isso é especialmente intrigante - não estou substituindo o ícone do plug-in padrão, mas um ícone que eu criei anteriormente para substituir o ícone do plug-in padrão. Portanto, isso já funcionou antes ...: /

Eu tentei estes ...

  • reiniciando o QGIS
  • desinstalar e reinstalar o plug-in usando o gerenciador de plug-ins
  • destruir o plugin usando make derase seguido por make deploy
  • recarregue o plug-in usando o plug-in "Plugin reloader"

O QGIS armazena em cache ícones em algum lugar? Essa é a única explicação que consigo pensar. Se isso acontecer, existe alguma maneira de liberar o cache?

Estou usando o QGIS 2.10.1 Pisa no Ubuntu 14.04. Estou usando o "Plugin Builder" versão 2.8.3

Eu suspeito que não será um problema para quem não instalou o plug-in antes, mas é um pouco estranho.

Steven Kay
fonte

Respostas:

26

No QGIS 3, é preciso fazer

pyrcc5 -o resources.py resources.qrc 

O ícone do seu plug-in foi convertido em uma matriz de bytes e salvo em resources.py

Portanto, se você deseja alterar este ícone, é necessário compilar seus recursos novamente:

pyrcc4 -o resources.py resources.qrc 
dmh126
fonte
1
depois de seguir seu conselho e reiniciar o QGIS, o ícone mudou .. obrigado!
Steven Kay
3
.. e se isso não funcionar, make cleanseguido por make deployremoverá o recurso compilado e forçar o ícone a ser reconstruída
Steven Kay
Isso me dá uma sintaxe inválida.
Sunny Naik 7/17
1

Além da resposta do dmh126, verifique se você não excluiu acidentalmente a importação e, assim, impediu a compilação do código python dos recursos. Por exemplo, se o seu arquivo de recursos for 'resources.py' - supondo que os arquivos python não estejam aninhados - você pesquisaria seu projeto para garantir que seu código tenha a linha:

import resources

Como alternativa, você pode excluir resources.pyce recarregar o plug-in para garantir que ele esteja realmente sendo compilado.

Bolsos e
fonte
1

Eu tive um problema semelhante, usando o QGIS Brighton 2.6.1. Eu segui suas instruções / dicas e as soluções foram:

  • Abra o OSGeo4W Shell e mude para a pasta do plugin MyPlugin digitando: cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin

  • Tipo: make clean(remove o resource_rc.py)

  • Tipo: make deploy(from resouce.qrc gera novo resource_rc.py)
  • No gerenciador de plug-ins do QGIS, desative e reative o plug-in (gera o novo resource_rc.pyc compilado) E as novas imagens / logotipos foram alterados.

Obrigado!

Frederik Eistrup
fonte