Membuat Plugin QGIS mulai dari Graphical Modeler
Saya ingin tahu bagaimana cara membuat Plugin QGIS mulai dari model yang dibangun dengan pemodel grafis. Apakah mungkin atau saya harus menggunakan script python yang dibuat di konsol QGIS?
Ada saran? Saya harus menggunakan "Pembuat Plugin"?
Jawaban
Ya, Anda yakin bisa.
Periksa di sini jika Anda menggunakan Python versi lama. Mengonversi model dari skrip QGIS ke Python?
Saya menggunakan 3.14, dan di dalam Model Designer, ada tombol di bagian atas yang disebut 'Ekspor sebagai Algoritme Skrip'. Tekan itu.
Dalam praktiknya, Anda harus mengekspor model Anda sebagai skrip python, membuat plugin menggunakan PluginBuilder dan menyalin kode Anda ke dalam kode plugin yang dibuat. Meskipun melakukan ini dalam satu klik adalah ide bagus untuk plugin baru :). Semuanya dijelaskan dalam posting ini Mengubah Model di Plug-in di QGIS
Anda sebenarnya dapat mengemas model dalam plugin tanpa perlu mengubahnya menjadi skrip.
Untuk melakukannya:
Gunakan Plugin Builder (juga merupakan Plugin QGIS) untuk membuat plugin pemrosesan awal
Buka file penyedia (* provider.py) di editor teks
Temukan garisnya:
dari qgis.core impor QgsProcessingProvider
dan di bawahnya tambahkan garis:
dari qgis.core import QgsProcessingModelAlgorithm
impor os
- Di bawah modul loadAlgorythms (def loadAlgorithms (self) :) tambahkan baris kode berikut:
for dirpath, dirnames, files in os.walk(os.path.dirname(__file__)): for file_name in files: if file_name.lower().endswith('.model3'): alg = QgsProcessingModelAlgorithm() alg.fromFile(os.path.join(dirpath, file_name)) self.addAlgorithm(alg)
Kode di atas mencari melalui folder plugin dan subfolder apapun dan jika menemukan file model itu mereferensikannya. Jadi, mulai saat ini, yang perlu Anda lakukan untuk menambahkan model ke plugin ini adalah meletakkannya di direktori plugin.