क्यूजीआईएस प्लगइन के आइकन को बदलना, मेनू / टूलबार में क्यों नहीं बदलता है?


11

मैं क्यूजीआईएस प्लगइन ("प्लगइन बिल्डर" प्लगइन का उपयोग करके) लिख रहा हूं, और फैसला किया कि मैं आइकन (icon.png) को बदलना चाहता था।

प्लग इन को स्थानीय रूप से पुनर्निर्माण करने के लिए तैनात करने के बाद , नया आइकन प्लगइन प्रबंधक (दोनों प्लगइन्स की सूची, और प्लगइन विवरण पैनल) में दिखाई देता है। अब तक सब ठीक है।

हालाँकि, पुराना आइकन मेनू और टूलबार आइकन में बना रहता है।

मैंने स्थापित किया है कि metadata.txt में icon.png सही है, और मेरी ~ / .qgis / python / plugins / myplugin निर्देशिका में कॉपी हो रही है ।

यह विशेष रूप से हैरान करने वाला है - मैं डिफ़ॉल्ट प्लगइन आइकन की जगह नहीं ले रहा हूं, लेकिन एक आइकन जो मैंने पहले डिफ़ॉल्ट प्लगइन आइकन को बदलने के लिए बनाया था। तो यह पहले काम किया है ...: /

मैं इन की कोशिश की है ...

  • QGIS को फिर से शुरू करना
  • स्थापना रद्द करें, फिर प्लगइन प्रबंधक का उपयोग करके प्लगइन को पुनर्स्थापित करें
  • प्लग इन का उपयोग करके डेज को नष्ट करें और इसके बाद तैनाती करें
  • "प्लगइन पुनः लोडर" प्लगइन का उपयोग करके प्लगइन को पुनः लोड करें

कहीं QGIS कैश आइकन है? यही एकमात्र स्पष्टीकरण है जिसके बारे में मैं सोच सकता हूं। यदि ऐसा होता है, तो कैश को फ्लश करने का कोई तरीका है?

मैं Ubuntu 14.04 पर QGIS 2.10.1 पीसा का उपयोग कर रहा हूं। मैं "प्लगइन बिल्डर" संस्करण 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 के उत्तर के अलावा, सुनिश्चित करें कि आपने गलती से आयात को नष्ट नहीं किया है और इस तरह से संसाधनों के अजगर कोड को संकलित करने से रोक दिया है। उदाहरण के लिए, यदि आपकी संसाधन फ़ाइल 'resource.py' है - यह मानते हुए कि अजगर फाइलें नेस्टेड नहीं हैं - आप यह सुनिश्चित करने के लिए अपने प्रोजेक्ट को खोजेंगे कि आपके कोड में लाइन है:

import resources

वैकल्पिक रूप से, आप resources.pycयह सुनिश्चित करने के लिए प्लगइन को हटा सकते हैं और पुनः लोड कर सकते हैं कि यह वास्तव में संकलित हो रहा है।


1

मुझे एक समान समस्या थी, QGIS ब्राइटन 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 से नए संसाधन_rc.py आउटपुट)
  • QGIS प्लगइन प्रबंधक में, प्लगइन को अक्षम करें और फिर से सक्षम करें (नए संकलित संसाधन_rc.pyc आउटपुट) और नए चित्र / लोगो बदल गए।

धन्यवाद!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.