Cambiando l'icona del plugin QGIS, perché non cambia nel menu / barra degli strumenti?


11

Ho scritto un plug-in QGIS (usando il plug-in "Plugin Builder") e ho deciso che volevo cambiare l'icona (icon.png).

Dopo aver eseguito make deploy per ricostruire il plug-in localmente, la nuova icona appare in Gestione plug-in (sia nell'elenco dei plug-in che nel pannello di descrizione del plug-in). Fin qui tutto bene.

Tuttavia, la vecchia icona persiste nel menu e le icone della barra degli strumenti.

Ho stabilito che icon.png è corretto in metadata.txt e viene copiato nella mia directory ~ / .qgis / python / plugins / myplugin .

Ciò è particolarmente sconcertante: non sto sostituendo l'icona del plug-in predefinito, ma un'icona che ho creato in precedenza per sostituire l'icona del plug-in predefinito. Quindi questo ha funzionato prima ...: /

Ho provato questi ...

  • riavvio di QGIS
  • disinstallare, quindi reinstallare il plug-in usando il gestore plug-in
  • distruggere il plugin usando make derase seguito da make deploy
  • ricaricare il plugin usando il plugin "Plugin reloader"

QGIS memorizza nella cache le icone da qualche parte? Questa è l'unica spiegazione che mi viene in mente. In tal caso, esiste un modo per svuotare la cache?

Sto usando QGIS 2.10.1 Pisa su Ubuntu 14.04. Sto usando "Plugin Builder" versione 2.8.3

Sospetto che non sarà un problema per nessuno che non abbia mai installato il plugin prima, ma è un po 'strano.

Risposte:


26

In QGIS 3, uno deve fare

pyrcc5 -o resources.py resources.qrc 

L'icona del plug-in è stata convertita in un array di byte e salvata in resources.py

Quindi se vuoi cambiare questa icona devi compilare di nuovo le tue risorse:

pyrcc4 -o resources.py resources.qrc 

1
dopo aver seguito i tuoi consigli e aver riavviato QGIS, l'icona è cambiata .. grazie!
Steven Kay,

3
.. e se non funziona, make cleanseguito da make deployrimuoverà la risorsa compilata e forzerà la ricostruzione dell'icona
Steven Kay

Questo mi dà una sintassi non valida.
Sunny Naik,

1

Oltre alla risposta di dmh126, assicurati di non aver cancellato accidentalmente l'importazione e quindi impedito la compilazione del codice python delle risorse. Ad esempio, se il tuo file di risorse è 'resources.py' - supponendo che i file Python non siano nidificati - dovrai cercare il tuo progetto per assicurarti che il tuo codice abbia la linea:

import resources

In alternativa, è possibile eliminare resources.pyce ricaricare il plug-in per assicurarsi che venga effettivamente compilato.


1

Ho avuto un problema simile, usando QGIS Brighton 2.6.1. Ho seguito le tue istruzioni / suggerimenti e le soluzioni erano:

  • Apri OSGeo4W Shell e passa alla cartella dei plugin MyPlugin digitando: cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin

  • Tipo: make clean(rimuove la risorsa_rc.py)

  • Tipo: make deploy(da resouce.qrc restituisce new resource_rc.py)
  • Nel gestore plug-in QGIS, disabilitare e riattivare il plug-in (genera il nuovo output_rc.pyc compilato) E le nuove immagini / i loghi sono cambiati.

Grazie!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.