Меняя значок плагина QGIS, почему он не меняется в меню / панели инструментов?

11

Я писал плагин QGIS (используя плагин "Plugin Builder") и решил, что хочу изменить значок (icon.png).

После запуска make deploy для локальной перестройки плагина в диспетчере плагинов появляется новый значок (как в списке плагинов, так и на панели описания плагинов). Все идет нормально.

Однако старый значок сохраняется в меню и на панели инструментов.

Я установил, что icon.png является правильным в metadata.txt и копируется в мой каталог ~ / .qgis / python / plugins / myplugin .

Это особенно озадачивает - я не заменяю значок плагина по умолчанию, а значок, который я ранее создал для замены значка плагина по умолчанию. Так что это работало раньше ...: /

Я попробовал это ...

  • перезапуск QGIS
  • удалить, затем переустановить плагин с помощью менеджера плагинов
  • уничтожить плагин, используя make derase и затем make deploy
  • перезагрузите плагин, используя плагин "Plugin reloader"

Кеширует ли где-нибудь иконки QGIS? Это единственное объяснение, которое я могу придумать. Если да, есть ли способ очистить кеш?

Я использую QGIS 2.10.1 Pisa на Ubuntu 14.04. Я использую "Plugin Builder" версии 2.8.3

Я подозреваю, что это не будет проблемой для тех, кто не устанавливал плагин раньше, но это немного странно.

Стивен Кей
источник

Ответы:

26

В QGIS 3 нужно сделать

pyrcc5 -o resources.py resources.qrc 

Значок вашего плагина был преобразован в байтовый массив и сохранен в resources.py

Поэтому, если вы хотите изменить этот значок, вам нужно снова скомпилировать ресурсы:

pyrcc4 -o resources.py resources.qrc 
dmh126
источник
1
после следования вашим советам и перезапуска QGIS значок изменился .. спасибо!
Стивен Кей,
3
.. и если это не сработает, а make cleanзатем make deployудалит скомпилированный ресурс и заставить иконку быть перестроены
Стивен Кэй
Это дает мне неверный синтаксис.
Солнечный Найк
1

В дополнение к ответу dmh126 убедитесь, что вы случайно не удалили импорт и тем самым предотвратили компиляцию кода Python для ресурсов. Например, если ваш файл ресурсов - «resources.py» - при условии, что файлы python не вложены - вы должны выполнить поиск в своем проекте, чтобы убедиться, что в вашем коде есть строка:

import resources

Кроме того, вы можете удалить resources.pycи перезагрузить плагин, чтобы убедиться, что он действительно компилируется.

Pocketsand
источник
1

У меня была похожая проблема с использованием QGIS Brighton 2.6.1. Я следовал вашим указаниям / советам, и решения были:

  • Откройте OSGeo4W Shell и перейдите в папку плагинов MyPlugin, набрав: cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin

  • Тип: make clean(удаляет resource_rc.py)

  • Тип: make deploy(из resouce.qrc выводит новый resource_rc.py)
  • В диспетчере плагинов QGIS отключите и снова включите плагин (выводит новый скомпилированный resource_rc.pyc), а новые картинки / логотипы изменились.

Спасибо!

Фредерик Эйструп
источник