QGIS eklentisinin simgesini değiştirmek, menü / araç çubuğunda neden değişmiyor?


11

Ben bir QGIS eklentisi yazıyorum ("Plugin Builder" eklentisini kullanarak) ve ben simgeyi (icon.png) değiştirmek istediğime karar verdim.

Eklentiyi yerel olarak yeniden oluşturmak için make deploy komutunu çalıştırdıktan sonra , yeni simge Eklenti Yöneticisi'nde (hem eklenti listesinde hem de eklenti açıklama panelinde) görünür. Çok uzak çok iyi.

Ancak, eski simge menüde ve araç çubuğu simgelerinde kalır.

İcon.png'in metadata.txt dosyasında doğru olduğunu ve ~ / .qgis / python / plugins / myplugin dizinine kopyalandığını belirledim .

Bu özellikle şaşırtıcıdır - Varsayılan eklenti simgesini değiştirmiyorum, ancak varsayılan eklenti simgesini değiştirmek için daha önce oluşturduğum bir simge. Bu daha önce işe yaradı ...: /

Bunları denedim ...

  • QGIS'i yeniden başlatma
  • eklentiyi kaldırın, ardından eklenti yöneticisini kullanarak eklentiyi yeniden yükleyin
  • make derase ve ardından deploy yaparak eklentiyi yok et
  • "Plugin reloader" eklentisini kullanarak eklentiyi yeniden yükleyin

QGIS simgeleri bir yerde önbelleğe alıyor mu? Aklıma gelen tek açıklama bu. Varsa, önbelleği temizlemenin bir yolu var mı?

Ubuntu 14.04 üzerinde QGIS 2.10.1 Pisa kullanıyorum. "Eklenti Oluşturucu" sürüm 2.8.3 kullanıyorum

Daha önce eklentiyi yüklememiş olan herkes için bir sorun olmayacağından şüpheleniyorum, ancak biraz garip.

Yanıtlar:


26

QGIS 3'te,

pyrcc5 -o resources.py resources.qrc 

Eklenti simgeniz bir bayt dizisine dönüştürüldü ve içine kaydedildi resources.py

Dolayısıyla, bu simgeyi değiştirmek istiyorsanız, kaynaklarınızı tekrar derlemeniz gerekir:

pyrcc4 -o resources.py resources.qrc 

1
tavsiyelerinizi takip ettikten ve QGIS'i yeniden başlattıktan sonra simge değişti .. teşekkür ederim!
Steven Kay

3
.. ve bu işe yaramazsa, make cleanardından make deployderlenen kaynağı kaldıracak ve simgeyi yeniden oluşturulmaya zorlayacak
Steven Kay

Bu bana geçersiz sözdizimi veriyor.
Sunny Naik

1

Dmh126'nın cevabına ek olarak, içe aktarmayı yanlışlıkla silmediğinizden ve böylece kaynak python kodunun derlenmesini engellediğinizden emin olun. Örneğin, kaynak dosyanız 'resources.py' ise - python dosyalarının iç içe olmadığını varsayarsak - kodunuzun satırda olduğundan emin olmak için projenizde arama yaparsınız:

import resources

Alternatif olarak, resources.pycgerçekten derlendiğinden emin olmak için eklentiyi silebilir ve yeniden yükleyebilirsiniz.


1

QGIS Brighton 2.6.1 kullanarak benzer bir sorun yaşadım. Talimatlarınızı / ipuçlarınızı takip ettim ve çözümler şunlardı:

  • OSGeo4W Shell'i açın ve yazarak MyPlugin eklenti klasörüne geçin: cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin

  • Tür: make clean(resource_rc.py kaynağını kaldırır)

  • Şunu yazın: make deploy(resouce.qrc çıktılarından yeni resource_rc.py)
  • QGIS eklenti yöneticisinde eklentiyi devre dışı bırakın ve yeniden etkinleştirin (yeni derlenmiş resource_rc.pyc çıktıları) Ve yeni resimler / logolar değişti.

Teşekkürler!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.