Saat menulis skrip python, QGIS tidak menyimpannya ketika pengguna menyimpan proyek utamanya dengan ctrl+S
perintah atau dengan Project->Save
. Selain itu, ketika meninggalkan QGIS, program ini tidak memperingatkan tentang perubahan yang tidak disimpan dalam skrip python bahkan jika ia memperingatkan tentang perubahan yang belum disimpan ke proyek dan menawarkan untuk menyimpannya.
Apakah ada opsi untuk mengubah perilaku ini?
Saya harus menambahkan bahwa menggunakan opsi dialog untuk menyimpan proyek ketika berhenti memang menyelamatkan proyek, tetapi bukan skrip python. Itu hanya hilang.
qgis
pyqgis
qgis-plugins
almerillat
sumber
sumber
Jawaban:
Jika Anda ingin menyimpan skrip python saat ini di Python Editor setiap kali Anda menyimpan proyek Anda, ketikkan yang berikut ke konsol:
Ini pada dasarnya menghubungkan projectSaved () sinyal ke saveScriptFile () fungsi dalam konsol python.
Penghargaan untuk Germán Carrillo atas jawabannya dalam posting ini yang menjadi dasar jawaban di atas.
Edit:
Salah satu metode untuk secara otomatis menyimpan semua skrip adalah dengan sedikit memodifikasi file console.py pemrosesan Anda yang dapat ditemukan di direktori QGIS Anda. Sebagai contoh:
Temukan
def saveScriptFile(self):
fungsinya dan ganti baris pertama:dengan yang berikut dan inden semuanya setelah:
Sehingga terlihat seperti:
Simpan file.
Sekarang kita perlu membuat file startup.py di
/.qgis2/python/
direktori Anda , file ini dimuat ketika QGIS dijalankan sehingga akan menjalankan kode yang disimpan di dalamnya. Sertakan kode berikut:Simpan file.
Sekarang, mudah-mudahan, ketika Anda memuat QGIS dan menyimpan proyek, semua skrip yang dibuka di editor konsol harus disimpan.
(Catatan: Saya cukup yakin Anda dapat mengulangi skrip yang dibuka di editor konsol tetapi belum menemukannya. Ini akan menjadi metode yang jauh lebih baik dan tidak mengganggu karena tidak mengubah kode sumber.)
sumber