Al escribir scripts de python, QGIS no los guarda cuando el usuario guarda su proyecto principal con el ctrl+S
comando o con Project->Save
. Además, al salir de QGIS, el programa no advierte sobre cambios no guardados en los scripts de Python, incluso si advierte sobre cambios no guardados en el proyecto y ofrece guardarlos.
¿Hay alguna opción para cambiar este comportamiento?
Debo agregar que usar la opción de diálogo para guardar el proyecto cuando salga, de hecho, guarda el proyecto, pero no los scripts de Python. Esos simplemente están perdidos.
qgis
pyqgis
qgis-plugins
almerillat
fuente
fuente
Respuestas:
Si desea guardar el script actual de Python en el Editor de Python cada vez que guarde su proyecto, escriba lo siguiente en la consola:
Esto conecta esencialmente el projectSaved () señal a la saveScriptFile () función en la consola Python.
Gracias a Germán Carrillo por su respuesta en esta publicación en la que se basó la respuesta anterior.
Editar:
Un método para guardar automáticamente todos los scripts es modificar ligeramente su archivo de consola console.py de procesamiento que se puede encontrar en su directorio QGIS. Por ejemplo:
Encuentra la
def saveScriptFile(self):
función y reemplaza la primera línea:con lo siguiente y sangra todo después:
Para que se vea así:
Guarda el archivo.
Ahora necesitamos crear un archivo startup.py en su
/.qgis2/python/
directorio, este archivo se carga cuando QGIS se inicia para que ejecute cualquier código guardado en su interior. Incluya el siguiente código:Guarda el archivo.
Ahora, con suerte, cuando carga QGIS y guarda un proyecto, se deben guardar todos los scripts abiertos en el editor de la consola.
(Nota: estoy bastante seguro de que puede iterar a través de los scripts abiertos en el editor de la consola, pero aún no lo ha encontrado. Este sería un método mucho mejor y menos intrusivo ya que evita alterar el código fuente).
fuente