from PyQt4.QtCore import *
from qgis.core import QgsProject, QgsLayerTreeGroup
def openProject():
groupName = 'Your group name'
def changeVis(nodeLayer, state):
if not isinstance(nodeLayer, QgsLayerTreeGroup):
childNodes = grp.findLayers()
if state == Qt.Checked:
for node in childNodes:
if node.layerId() != nodeLayer.layerId():
node.setVisible(Qt.Unchecked)
global grp
root = QgsProject.instance().layerTreeRoot()
grp = root.findGroup(groupName)
grp.setVisible(Qt.Unchecked)
grp.visibilityChanged.connect(changeVis)
def saveProject():
pass
def closeProject():
grp.visibilityChanged.disconnect()