Gostaria de alterar o valor de uma variável de projeto definida pelo usuário (pode ser editada manualmente em Configurações do projeto | Variáveis) usando o console do Python. Eu localizei a função setVariable () na classe QgsExpressionContextScope, mas não consegui alterar a variável nas configurações do projeto. Meu código até agora:
iface.mapCanvas().mapSettings().expressionContext().scope(0).setVariable('myvar',1)
Acho que estou me perdendo nos diferentes contextos de expressão ...
QgsExpressionContextUtils
setProjectVariables(preserved_variables)
. Verifiquei o código C ++, espero poder contribuir para a funcionalidade.QgsExpressionContextUtils.removeProjectVariable
existe agora!