Me gustaría cambiar el valor de una variable de proyecto definida por el usuario (se puede editar manualmente en Configuración del proyecto | Variables) utilizando la consola de Python. Localicé a la función setVariable () en la clase QgsExpressionContextScope , pero no han tenido éxito en cambiar realmente la variable en la configuración del proyecto. Mi código hasta ahora:
iface.mapCanvas().mapSettings().expressionContext().scope(0).setVariable('myvar',1)
Supongo que me estoy perdiendo en los diferentes contextos de expresión ...
QgsExpressionContextUtils
setProjectVariables(preserved_variables)
He comprobado el código C ++, espero poder contribuir con la funcionalidad.QgsExpressionContextUtils.removeProjectVariable
existe ahora!