Thay đổi biểu tượng của plugin QGIS, tại sao nó không thay đổi trong menu / thanh công cụ?


11

Tôi đã viết một plugin QGIS (sử dụng plugin "Plugin Builder") và quyết định tôi muốn thay đổi biểu tượng (icon.png).

Sau khi chạy, hãy triển khai để xây dựng lại plugin cục bộ, biểu tượng mới xuất hiện trong Trình quản lý plugin (cả trong danh sách bổ trợ và bảng mô tả plugin). Càng xa càng tốt.

Tuy nhiên, biểu tượng cũ vẫn tồn tại trong menu và các biểu tượng thanh công cụ.

Tôi đã thiết lập rằng icon.png là chính xác trong metadata.txt và đang được sao chép vào thư mục ~ / .qgis / python / plugins / myplugin của tôi .

Điều này đặc biệt khó hiểu - Tôi không thay thế biểu tượng plugin mặc định, nhưng là biểu tượng tôi đã tạo trước đây để thay thế biểu tượng plugin mặc định. Vì vậy, điều này đã làm việc trước khi ...: /

Tôi đã thử những ...

  • khởi động lại QGIS
  • gỡ cài đặt, sau đó cài đặt lại plugin bằng trình quản lý plugin
  • phá hủy plugin bằng cách sử dụng make derase theo sau là thực hiện
  • tải lại plugin bằng cách sử dụng plugin "Plugin tải lại"

Các biểu tượng bộ đệm của QGIS ở đâu đó? Đó là lời giải thích duy nhất tôi có thể nghĩ ra. Nếu có, có cách nào để xóa bộ đệm không?

Tôi đang sử dụng QGIS 2.10.1 Pisa trên Ubuntu 14.04. Tôi đang sử dụng "Plugin Builder" phiên bản 2.8.3

Tôi nghi ngờ đây sẽ không phải là vấn đề đối với bất kỳ ai chưa cài đặt plugin trước đó, nhưng điều này hơi lạ.

Câu trả lời:


26

Trong QGIS 3, một người cần phải làm

pyrcc5 -o resources.py resources.qrc 

Biểu tượng plugin của bạn đã được chuyển đổi thành một mảng byte và được lưu trong resources.py

Vì vậy, nếu bạn muốn thay đổi biểu tượng này, bạn phải biên dịch lại tài nguyên của mình:

pyrcc4 -o resources.py resources.qrc 

1
sau khi làm theo lời khuyên của bạn và khởi động lại QGIS, biểu tượng đã thay đổi .. cảm ơn bạn!
Steven Kay

3
.. và nếu điều đó không hoạt động, make cleantiếp theo make deploysẽ xóa tài nguyên đã biên dịch và buộc biểu tượng được xây dựng lại
Steven Kay

Điều này cho tôi cú pháp không hợp lệ.
Nắng Naik

1

Ngoài câu trả lời của dmh126, hãy đảm bảo rằng bạn đã vô tình xóa quá trình nhập và do đó ngăn không cho mã python tài nguyên biên dịch. Ví dụ: nếu tệp tài nguyên của bạn là 'resource.py' - giả sử các tệp python không được lồng nhau - bạn sẽ tìm kiếm dự án của mình để đảm bảo mã của bạn có dòng:

import resources

Ngoài ra, bạn có thể xóa resources.pycvà tải lại plugin để đảm bảo nó thực sự được biên dịch.


1

Tôi đã có một vấn đề tương tự, sử dụng QGIS Brighton 2.6.1. Tôi đã làm theo lời khuyên / lời khuyên của bạn và các giải pháp là:

  • Mở OSGeo4W Shell và thay đổi thư mục plugin MyPlugin bằng cách gõ: cd C:\Program Files\QGIS Brighton\apps\qgis\python\plugins\MyPlugin

  • Loại: make clean(xóa tài nguyên_rc.py)

  • Loại: make deploy(từ resouce.qrc xuất tài nguyên mới_rc.py)
  • Trong trình quản lý plugin QGIS, vô hiệu hóa và kích hoạt lại plugin (xuất ra resource_rc.pyc mới được biên dịch) Và các hình ảnh / logo mới đã thay đổi.

Cảm ơn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.