Beim Schreiben von Python-Skripten speichert QGIS diese nicht, wenn der Benutzer sein Hauptprojekt mit dem ctrl+S
Befehl oder mit speichert Project->Save
. Außerdem warnt das Programm beim Verlassen von QGIS nicht vor nicht gespeicherten Änderungen in Python-Skripten, selbst wenn es vor nicht gespeicherten Änderungen am Projekt warnt und anbietet, diese zu speichern.
Gibt es eine Option, um dieses Verhalten zu ändern?
Ich sollte hinzufügen, dass die Verwendung der Dialogoption zum Speichern des Projekts beim Beenden zwar das Projekt speichert, nicht jedoch die Python-Skripte. Die sind einfach verloren.
qgis
pyqgis
qgis-plugins
Almerillat
quelle
quelle
Antworten:
Wenn Sie das aktuelle Python-Skript bei jedem Speichern Ihres Projekts im Python-Editor speichern möchten, geben Sie Folgendes in die Konsole ein:
Dies verbindet im Wesentlichen das projectSaved () -Signal mit der Funktion saveScriptFile () in der Python-Konsole.
Dank an Germán Carrillo für seine Antwort in diesem Beitrag, auf dem die obige Antwort basiert.
Bearbeiten:
Eine Methode zum automatischen Speichern aller Skripte besteht darin, die Verarbeitungsdatei console.py , die sich in Ihrem QGIS-Verzeichnis befindet, geringfügig zu ändern . Beispielsweise:
Suchen Sie die
def saveScriptFile(self):
Funktion und ersetzen Sie die erste Zeile:mit folgendem und alles danach einrücken:
Damit es so aussieht:
Speicher die Datei.
Jetzt müssen wir eine Startup.py- Datei in Ihrem
/.qgis2/python/
Verzeichnis erstellen. Diese Datei wird beim Start von QGIS geladen, damit der darin gespeicherte Code ausgeführt wird. Fügen Sie den folgenden Code ein:Speicher die Datei.
Wenn Sie jetzt QGIS laden und ein Projekt speichern, sollten hoffentlich alle geöffneten Skripte im Konsoleneditor gespeichert werden.
(Hinweis: Ich bin mir ziemlich sicher, dass Sie die geöffneten Skripte im Konsoleneditor durchlaufen können, sie aber noch nicht gefunden haben. Dies wäre eine viel bessere und weniger aufdringliche Methode, da dadurch das Ändern des Quellcodes vermieden wird.)
quelle