जवाबों:
इसका संक्षेप में QGIS - डेवलपर फोरम में उल्लेख किया गया था जहाँ आपको अपनी परत के लिए एम्बेडेड विजेट को सक्षम करने के लिए QgsMapLayer :: setCustomPropertylayer का उपयोग करने की आवश्यकता है । फिर हम एक itemAdded
ईवेंट जोड़ सकते हैं ताकि जब भी कोई लेयर जोड़ी जाए तो यह अपने आप ट्रांसपेरेंसी विजेट के साथ दिखाई दे।
तो आप पायथन कंसोल में निम्नलिखित जैसे कुछ का उपयोग कर सकते हैं :
def transparency_slider():
for layer in QgsMapLayerRegistry.instance().mapLayers().values():
if layer.customProperty("embeddedWidgets/count") != 1 or layer.customProperty("embeddedWidgets/0/id") != u'transparency':
layer.setCustomProperty("embeddedWidgets/count", 1)
layer.setCustomProperty("embeddedWidgets/0/id", "transparency")
else:
pass
qgis.utils.iface.legendInterface().refreshLayerSymbology(layer)
# Connect "itemAdded" event to "transparency_slider" function
legend = qgis.utils.iface.legendInterface()
legend.itemAdded.connect(transparency_slider)
Win7 64-बिट के लिए QGIS 2.18.3 पर परीक्षण किया गया।
उदाहरण:
अजगर सांत्वना और आकार जोड़ने से पहले कोड सम्मिलित करना:
परिणाम:
legend.itemAdded.disconnect(transparency_slider)
अजगर सांत्वना में टाइप कर सकते हैं ;)
import qgis
; from qgis.core import QgsMapLayerRegistry
आपकी स्क्रिप्ट में :)
रैस्टर ट्रांसपेरेंसी नामक एक प्लगइन है, जैसा कि नाम से पता चलता है, चयनित रास्टर परत की पारदर्शिता को बदलने के लिए स्लाइडर्स के साथ एक डॉकेबल पैनल खोलेगा।
प्लगइन्स पर जाएं> प्लग इन प्रबंधित करें और इंस्टॉल करें - इसे ढूंढें और इंस्टॉल करें, आपके टूलबार पर एक नया संबद्ध आइकन दिखाई देगा।