QGISで、レイヤを表示・非表示するスクリプトは下記のように記述します。
# QGIS2ではlegendInterface()
legend = iface.legendInterface()
layers = legend.layers()
legend.setLayerVisible(layers[0], False)
# QGIS3ではlegendInterface()廃止
layer = QgsProject.instance().layerTreeRoot().findLayer(layers[0])
layer.setItemVisibilityChecked(False)
実行すると1番目のレイヤの「sample01」が非表示になります。
表示にする場合:
# QGIS2ではlegendInterface()
legend.setLayerVisible(layers[0], True)
# QGIS3ではlegendInterface()廃止
layer.setItemVisibilityChecked(True)
1番目のレイヤが表示になります。
- 参考文献
QGIS