Hi, Yes, that's the point. I was surprised by the fact that those variables where stored as part of the exported qml file.
I was trying to set those variable in processing algorithm so that I could achieve some parametrization of the style associated with the processing output, but no luck since the qml overwrite them when loaded in the layer. > Le 21 juin 2018 à 11:48, Matthias Kuhn <matth...@opengis.ch> a écrit : > > Hi David, > > Variables are a part of QML / Layer Style. There is a QEP open about > handling of this: > > https://github.com/qgis/QGIS-Enhancement-Proposals/issues/125 > > While variables are not explicitly mentioned in there, it would be good > to treat them in the same way. I.e. allow exporting and importing QML > files without variables. This should allow to export and subsequently > load a style without variables being embedded. > Would be great if you could add a comment to the QEP. > > Thanks > Matthias > > On 06/20/2018 10:06 PM, David Marteau wrote: >> >> Just found out that this is not addMapLayer that remove the variables >> but 'layer.loadNamedStyle' >> >> Print layer.customProperty('variableNames') just before calling >> 'layer.loadNamedStyle' show variables >> Print layer.customProperty('variableNames') just after the call : empty >> list >> >> Reproduced in the python console: >> >>>>> QgsExpressionContextUtils.setLayerVariable(layer,'FOO','BAR') >>>>> layer.customProperty('variableNames') >> ['FOO'] >>>>> layer.loadNamedStyle('mystyle.qml') >> ('', True) >>>>> layer.customProperty('variableNames') >> [] >> >> >>> Le 20 juin 2018 à 18:13, David Marteau <dmart...@3liz.com >>> <mailto:dmart...@3liz.com>> a écrit : >>> >>> Hi >>> >>> I'm trying to set custom layers variables from processing >>> using QgsExpressionContextUtils.setLayerVariables to destination >>> layers , I have found that those variables does not appear in >>> Qgis. >>> >>> I have found that when the layer is inserted in the current project >>> (https://github.com/qgis/QGIS/blob/master/python/plugins/processing/gui/Postprocessing.py#L81) >>> the layer variables are removed - Checking existence of the variable >>> before >>> and after the call of 'addMaperLayer' shows that layer variables are >>> removed from custom properties. >>> >>> I cannot tell if this is a bug or not because it seems that the >>> removal may occurs in some signal handler. So if somebody has some >>> clues to where to look, I will be grateful. >>> >>> >>> Qgis version: 3.0.3-Girona >>> >>> David >> >> >> >> _______________________________________________ >> QGIS-Developer mailing list >> QGIS-Developer@lists.osgeo.org >> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer >> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer >> > _______________________________________________ > QGIS-Developer mailing list > QGIS-Developer@lists.osgeo.org > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer