เปลี่ยนไอคอนปลั๊กอินของ QGIS ทำไมมันไม่เปลี่ยนในเมนู / แถบเครื่องมือ?


11

ฉันเขียนปลั๊กอิน QGIS (ใช้ปลั๊กอิน "เครื่องมือสร้างตัวสร้างปลั๊กอิน") และตัดสินใจว่าฉันต้องการเปลี่ยนไอคอน (icon.png)

หลังจากรันการปรับใช้เพื่อสร้างปลั๊กอินในเครื่องใหม่ไอคอนใหม่จะปรากฏในตัวจัดการปลั๊กอิน (ทั้งในรายการปลั๊กอินและแผงคำอธิบายปลั๊กอิน) จนถึงตอนนี้ดีมาก

อย่างไรก็ตามไอคอนเก่ายังคงอยู่ในเมนูและไอคอนแถบเครื่องมือ

ฉันยอมรับว่า icon.png ถูกต้องใน metadata.txt และกำลังคัดลอกลงในไดเรกทอรี ~ / .qgis / python / plugins / myplugin ของฉัน

สิ่งนี้น่างงเป็นพิเศษ - ฉันไม่ได้แทนที่ไอคอนปลั๊กอินเริ่มต้น แต่ไอคอนที่ฉันสร้างไว้ก่อนหน้านี้เพื่อแทนที่ไอคอนปลั๊กอินเริ่มต้น ดังนั้นสิ่งนี้ได้ผลก่อน ... : /

ฉันลองแล้ว ...

  • รีสตาร์ท QGIS
  • ถอนการติดตั้งจากนั้นติดตั้งปลั๊กอินอีกครั้งโดยใช้โปรแกรมจัดการปลั๊กอิน
  • ทำลายปลั๊กอินโดยใช้make deraseตามด้วยการปรับใช้
  • โหลดปลั๊กอินใหม่โดยใช้ปลั๊กอิน "Plugin reloader"

QGIS cache icons อยู่ที่ไหนสักแห่งหรือไม่? นั่นเป็นคำอธิบายเดียวที่ฉันนึกได้ ถ้ามีจะมีวิธีล้างแคชหรือไม่?

ฉันใช้ QGIS 2.10.1 Pisa บน Ubuntu 14.04 ฉันใช้ "เครื่องมือสร้างปลั๊กอิน" รุ่น 2.8.3

ฉันสงสัยว่ามันจะไม่เป็นปัญหาสำหรับทุกคนที่ไม่ได้ติดตั้งปลั๊กอินมาก่อน แต่มันแปลกไปหน่อย

คำตอบ:


26

ใน QGIS 3 เราต้องทำ

pyrcc5 -o resources.py resources.qrc 

ไอคอนปลั๊กอินของคุณถูกแปลงเป็นอาร์เรย์ไบต์และบันทึกไว้ resources.py

ดังนั้นหากคุณต้องการเปลี่ยนไอคอนนี้คุณต้องรวบรวมทรัพยากรของคุณอีกครั้ง:

pyrcc4 -o resources.py resources.qrc 

1
หลังจากทำตามคำแนะนำของคุณแล้วเริ่ม QGIS ไอคอนเปลี่ยนไป .. ขอบคุณ!
Steven Kay

3
.. และหากยังใช้งานไม่ได้make cleanตามด้วยmake deployจะลบทรัพยากรที่รวบรวมและบังคับไอคอนให้สร้างใหม่
Steven Kay

สิ่งนี้ทำให้ฉันมีไวยากรณ์ที่ไม่ถูกต้อง
ซันนี่ Naik

1

นอกจากคำตอบของ dmh126 ตรวจสอบให้แน่ใจว่าคุณไม่ได้ลบการนำเข้าโดยไม่ได้ตั้งใจและป้องกันไม่ให้คอมไพล์โค้ดไพ ธ อนของคอมไพล์ เช่นหากไฟล์ทรัพยากรของคุณคือ 'resources.py' - สมมติว่าไฟล์หลามไม่ซ้อนกันคุณจะค้นหาโครงการของคุณเพื่อให้แน่ใจว่ารหัสของคุณมีบรรทัด:

import resources

หรือคุณสามารถลบresources.pycและโหลดปลั๊กอินอีกครั้งเพื่อให้แน่ใจว่าได้รับการรวบรวมอย่างแท้จริง


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) และรูปภาพ / โลโก้ใหม่เปลี่ยนไป

ขอบคุณ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.