Ich möchte den Wert einer benutzerdefinierten Projektvariablen (kann manuell in Projekteinstellungen | Variablen bearbeitet werden) über die Python-Konsole ändern. Ich habe die Funktion setVariable () in der Klasse QgsExpressionContextScope aufgespürt, aber es ist mir nicht gelungen, die Variable in den Projekteinstellungen tatsächlich zu ändern. Mein Code bisher:
iface.mapCanvas().mapSettings().expressionContext().scope(0).setVariable('myvar',1)
Ich glaube, ich verliere mich in den verschiedenen Ausdruckskontexten ...
QgsExpressionContextUtils
setProjectVariables(preserved_variables)
ich den C ++ - Code überprüft habe. Ich hoffe, ich kann einen Beitrag zur Funktionalität leisten.QgsExpressionContextUtils.removeProjectVariable
existiert jetzt!