Mengubah ikon plugin QGIS, mengapa tidak berubah di menu / toolbar?

11

Saya telah menulis plugin QGIS (menggunakan plugin "Plugin Builder"), dan memutuskan saya ingin mengubah ikon (icon.png).

Setelah menjalankan make deploy untuk membangun kembali plugin secara lokal, ikon baru muncul di Plugin Manager (keduanya dalam daftar plugin, dan panel deskripsi plugin). Sejauh ini baik.

Namun, ikon lama tetap ada di menu, dan ikon bilah alat.

Saya telah menetapkan bahwa icon.png benar di metadata.txt, dan sedang disalin ke direktori ~ / .qgis / python / plugins / myplugin saya .

Ini sangat membingungkan - saya tidak mengganti ikon plugin default, tetapi ikon yang saya buat sebelumnya untuk menggantikan ikon plugin default. Jadi ini telah berhasil sebelumnya ...: /

Saya sudah mencoba ini ...

  • memulai kembali QGIS
  • hapus instalan, lalu instal ulang plugin menggunakan pengelola plugin
  • hancurkan plugin menggunakan make derase diikuti oleh make deploy
  • muat ulang plugin menggunakan plugin "Plugin reloader"

Apakah ikon cache QGIS ada di suatu tempat? Itulah satu-satunya penjelasan yang bisa saya pikirkan. Jika ya, apakah ada cara untuk membersihkan cache?

Saya menggunakan QGIS 2.10.1 Pisa di Ubuntu 14.04. Saya menggunakan "Plugin Builder" versi 2.8.3

Saya menduga itu tidak akan menjadi masalah bagi siapa pun yang belum menginstal plugin sebelumnya, tapi itu agak aneh.

Steven Kay
sumber

Jawaban:

26

Di QGIS 3, kita perlu melakukannya

pyrcc5 -o resources.py resources.qrc 

Ikon plugin Anda dikonversi ke array byte dan disimpan di resources.py

Jadi, jika Anda ingin mengubah ikon ini, Anda harus mengkompilasi sumber daya Anda lagi:

pyrcc4 -o resources.py resources.qrc 
dmh126
sumber
1
setelah mengikuti saran Anda, dan memulai kembali QGIS, ikon telah berubah .. terima kasih!
Steven Kay
3
.. dan jika itu tidak berhasil, make cleandiikuti oleh make deployakan menghapus sumber daya yang dikompilasi dan memaksa ikon untuk dibangun kembali
Steven Kay
Ini memberi saya sintaks yang tidak valid.
Sunny Naik
1

Selain jawaban dmh126, pastikan Anda tidak secara sengaja menghapus impor dan dengan demikian mencegah kode sumber python dikompilasi. Misalnya jika file sumber daya Anda adalah 'resources.py' - dengan asumsi file python tidak bersarang - Anda akan mencari proyek Anda untuk memastikan kode Anda memiliki baris:

import resources

Atau, Anda dapat menghapus resources.pycdan memuat ulang plugin untuk memastikan plugin tersebut memang dikompilasi.

Kantong dan
sumber
1

Saya memiliki masalah yang sama, menggunakan QGIS Brighton 2.6.1. Saya mengikuti instruksi / tips Anda dan solusinya adalah:

  • Buka OSGeo4W Shell dan ubah ke folder plugin MyPlugin dengan mengetik: cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin

  • Ketik: make clean(menghapus resource_rc.py)

  • Ketik: make deploy(dari resouce.qrc menampilkan resource_rc.py baru)
  • Di manajer plugin QGIS, nonaktifkan dan aktifkan kembali plugin (output new compile resource_rc.pyc) Dan gambar / logo baru berubah.

Terima kasih!

Frederik Eistrup
sumber