답변:
QGIS => 1.5를 실행하는 경우 QGIS 문서에서 가져온 것입니다.
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)