Зміна піктограми модуля QGIS, чому він не змінюється в меню / панелі інструментів?


11

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

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

Однак стара ікона зберігається в меню та на панелі інструментів.

Я встановив, що icon.png є правильним у метаданих.txt і копіюється в каталог ~ / .qgis / python / plugins / myplugin .

Це особливо дивовижно - я не замінюю піктограму за замовчуванням, а піктограму, яку я створив раніше, щоб замінити піктограму за замовчуванням. Отже, це працювало раніше ...: /

Я спробував ці ...

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

Чи десь кешируються піктограми 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 

1
після дотримання ваших порад та перезапуску QGIS значок змінився .. дякую!
Стівен Кей

3
.. а якщо це не допоможе , make cleanдалі make deployвилучить скомпільований ресурс і змусить іконку перебудувати
Стівен Кей

Це дає мені недійсний синтаксис.
Сонячний Найк

1

На додаток до відповіді dmh126 переконайтеся, що ви випадково не видалили імпорт, і, таким чином, запобігли компіляції коду python від компіляції. Наприклад, якщо ваш файл ресурсів "resource.py" - якщо припустимо, що файли python не вкладені - ви шукаєте проект, щоб переконатися, що ваш код має рядок:

import resources

Ви також можете видалити resources.pycта перезавантажити плагін, щоб переконатися, що він справді збирається.


1

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

  • Відкрийте оболонку OSGeo4W та перейдіть до папки плагінів 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) І нові зображення / логотипи змінилися.

Дякую!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.