Ao escrever scripts python, o QGIS não os salva quando o usuário salva seu projeto principal com o ctrl+S
comando ou com Project->Save
. Além disso, ao sair do QGIS, o programa não avisa sobre alterações não salvas nos scripts python, mesmo que avise sobre alterações não salvas no projeto e se oferece para salvá-las.
Existe alguma opção para alterar esse comportamento?
Devo acrescentar que o uso da opção de diálogo para salvar o projeto ao sair realmente salva o projeto, mas não os scripts python. Aqueles estão simplesmente perdidos.
qgis
pyqgis
qgis-plugins
almerillat
fonte
fonte
Respostas:
Se você deseja salvar o script python atual no Editor Python cada vez que salvar seu projeto, digite o seguinte no console:
Isto essencialmente liga o projectSaved () do sinal para o saveScriptFile () função na consola do pitão.
Agradecemos a Germán Carrillo por sua resposta neste post em que a resposta acima foi baseada.
Editar:
Um método de salvar automaticamente todos os scripts é modificar levemente o arquivo console.py de processamento, que pode ser encontrado no diretório QGIS. Por exemplo:
Encontre a
def saveScriptFile(self):
função e substitua a primeira linha:com o seguinte e recuar tudo depois:
Para que se pareça com:
Salve o arquivo.
Agora, precisamos criar um arquivo startup.py no seu
/.qgis2/python/
diretório, esse arquivo é carregado quando o QGIS é inicializado, para executar qualquer código salvo dentro dele. Inclua o seguinte código:Salve o arquivo.
Agora, esperançosamente, quando você carrega o QGIS e salva um projeto, todos os scripts abertos no editor do console devem ser salvos.
(Nota: tenho certeza de que você pode percorrer os scripts abertos no editor do console, mas ainda não o encontrou. Esse seria um método muito melhor e menos invasivo, pois evita alterar o código-fonte.)
fonte