Piszę wtyczkę QGIS (używając wtyczki „Plugin Builder”) i zdecydowałem, że chcę zmienić ikonę (icon.png).
Po uruchomieniu make deploy w celu lokalnej odbudowy wtyczki nowa ikona pojawia się w Menedżerze wtyczek (zarówno na liście wtyczek, jak i panelu opisu wtyczek). Na razie w porządku.
Jednak stara ikona pozostaje w menu i ikonach paska narzędzi.
Ustaliłem, że icon.png jest poprawny w metadata.txt i jest kopiowany do mojego katalogu ~ / .qgis / python / plugins / myplugin .
Jest to szczególnie zagadkowe - nie zastępuję domyślnej ikony wtyczki, ale ikonę, którą wcześniej utworzyłem, aby zastąpić domyślną ikonę wtyczki. Więc działało to przed ...: /
Próbowałem tych ...
- restartowanie QGIS
- odinstaluj, a następnie zainstaluj ponownie wtyczkę za pomocą menedżera wtyczek
- zniszcz wtyczkę za pomocą make derase, a następnie make deploy
- przeładuj wtyczkę za pomocą wtyczki „Plugin reloader”
Czy gdzieś ikony QGIS buforują? To jedyne wyjaśnienie, jakie mogę wymyślić. Jeśli tak, to czy jest jakiś sposób na opróżnienie pamięci podręcznej?
Używam QGIS 2.10.1 Pisa na Ubuntu 14.04. Używam „Plugin Builder” w wersji 2.8.3
Podejrzewam, że nie będzie to problemem dla nikogo, kto wcześniej nie instalował wtyczki, ale to trochę dziwne.
źródło
make clean
następniemake deploy
usunie skompilowany zasób i zmusi ikonę do przebudowaniaOprócz odpowiedzi dmh126 upewnij się, że przypadkowo nie usunąłeś importu, a tym samym uniemożliwiłeś kompilację kodu python zasobów. Np. Jeśli plik zasobów to „resources.py” - zakładając, że pliki Pythona nie są zagnieżdżone - przeszukasz projekt, aby upewnić się, że kod zawiera wiersz:
Możesz też usunąć
resources.pyc
i ponownie załadować wtyczkę, aby upewnić się, że rzeczywiście się kompiluje.źródło
Miałem podobny problem, używając QGIS Brighton 2.6.1. Postępowałem zgodnie z twoimi sugestiami / wskazówkami, a rozwiązania były następujące:
Otwórz powłokę OSGeo4W i przejdź do folderu wtyczek MyPlugin, wpisując:
cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin
Wpisz:
make clean
(usuwa plik resource_rc.py)make deploy
(z pliku resouce.qrc generuje nowy plik resource_rc.py)Dzięki!
źródło