<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hello devs, </div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
I am using the QGIS postprocessing interface to add layers to a layer group. The layer group is created in processAlgorithm, while the indivdual layers are added from postprocessing classses. </div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The layer group gets created as expected along with the child layers. However toggling the individual layers does not repaint the canvas and has no effect. Toggling the entire group does work though.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
The pseudocode is as follows:</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span>def processAlgorithm(...):<br>
</span>
<div>    root = context.project().layerTreeRoot()<br>
</div>
<div>    group = root.insertGroup(0, "myGroup")<br>
</div>
<div><br>
</div>
<div>    self.postp = MyPostProcessor(group)  <br>
</div>
<div><br>
</div>
<div>    layer = QgsVectorLayer(...)</div>
<div>    if layer and self.context.willLoadLayerOnCompletion(layer.id()):<br>
</div>
<div>       self.context.layerToLoadOnCompletionDetails(layer.id()).setPostProcessor(self.postp).<br>
</div>
<div><br>
</div>
<div>MyPostProcessor is used to basically move the layer to the group. </div>
<div><br>
</div>
<div>When the layer group is also created from within the postprocessing class, everthing works perfectly. </div>
<div><br>
</div>
<div>What am I doing wrong?</div>
<div><br>
</div>
<div>Regards,</div>
<div>Tej</div>
<div><br>
</div>
<span></span><br>
</div>
</body>
</html>