जवाबों:
यह QGIS डॉक्स से है, यदि आप QGIS => 1.5 चला रहे हैं
from PyQt4 import QtCore, QtGui
from qgis import core, gui
i = qgis.utils.iface
# load a georeferenced raster layer
loadedLayer = i.addRasterLayer('c:\\data\\a_map.png')
# get legend
legend = i.legendInterface()
# check current visibility
legend.isLayerVisible(loadedLayer)
# set visibility off
legend.setLayerVisible(loadedLayer, False)
# and on again!
legend.setLayerVisible(loadedLayer, True)
मुझे लगता है कि आप केवल loadedLayer = i.addRasterLayer('c:\\data\\a_map.png')
उस परत के साथ स्वैप करेंगे जिसे आप छिपाना चाहते हैं, जिसे आप कुछ इस तरह उपयोग कर सकते हैं:
QgsMapLayerRegistry.instance().mapLayer(QString theLayerId)
स्वीकृत उत्तर QGIS3 के लिए उपलब्ध नहीं है। QGIS3 में, मैं नीचे दिए गए कोड का उपयोग करता हूं:
QgsProject.instance().layerTreeRoot().findLayer(lyr.id()).setItemVisibilityChecked(False)
इसके अलावा, हम सभी परतों को चालू और बंद कर सकते हैं:
bool = True # or False
root = QgsProject.instance().layerTreeRoot()
allLayers = root.layerOrder()
for layer in allLayers:
root.findLayer(layer.id()).setItemVisibilityChecked(bool)