Lagi

Menemukan plugin di gui QGIS secara terprogram dari PyQGIS

Menemukan plugin di gui QGIS secara terprogram dari PyQGIS


Saya telah membiarkan kecintaan saya pada plugin QGIS baru yang mengilap menguasai saya, dan saya merasa sulit untuk mengingat menu / submenu / panel mana yang terdapat plugin tertentu. Saya menggunakan lebih dari 100 sekarang, dan pergi pada pembersihan biasanya berarti saya menemukan kegunaan lain untuk plugin yang baru saja saya hapus…

Jadi saya pikir saya akan mencoba menulis plugin untuk mendapatkan info itu sehingga saya bisa mencarinya. Hal-hal yang diketahui pengelola Plugin, plus (paling penting) bagaimana menemukannya di GUI.

Pemrosesan sangat bagus untuk menemukan banyak fungsi bawaan QGIS, tetapi tidak menemukan plugin yang tidak ditulis untuk menggunakan kerangka kerjanya.

Melihat jawaban untuk mendaftar plugin yang diinstal melalui pyqgis saya bisa mendapatkan daftar nama plugin.

Sepertinya ada kelas,QgsPluginRegistry, yang terlihat menjanjikan dalam kode C++, tetapi saya tidak dapat menemukan file definisi SIP untuk itu, jadi saya tidak berpikir kelas ini terkena Python.

Menggunakan sedikit penelusuran melalui sumber QGIS, saya dapat menulis cuplikan singkat untuk mengendus file konfigurasi untuk plugin

untuk x di qgis.utils.findPlugins("/home/steven/.qgis2/python/plugins"): # mendapat (name,ConfigParser) tuple print "_"*80 print x[0] # nama plugin untuk key in x[1].options('umum'): print "	%s = %s" % (kunci, x[1].get('umum',kunci))

Ini memberi saya akses ke info yang sama dengan QGIS Plugin Manager… changelogs, authorship, category dan sebagainya.

qgsAffine name = Transformasi Affine qgisminimumversion = 2.0 description = Terapkan transformasi affine ke geometri yang dipilih. versi = 1.0.2 penulis = Mauricio de Paulo dan Erik Timmers email = [dihapus] changelog = [dipotong] eksperimental = Salah tidak digunakan lagi = Tag palsu = beranda = [dihapus] repositori = [dihapus] pelacak = [dihapus] ikon = ikon. kategori svg = Vektor

Apa yang tidak memberitahu saya adalah di mana tepatnya, itu dalam struktur menu? Bisakah ini didapat dari PyQGIS dengan cara yang bersih?

Atau untuk menemukan ini, apakah saya perlu mulai mengendus kelas GUI Qt atau menulis parser python (dapat dilakukan, tetapi tampaknya sedikit berlebihan?) Nilai kategori (vektor, raster, dll.) membantu mempersempit pencarian, tetapi ada banyak plugin (misalnya MMQGIS) yang membuat menu mereka sendiri.


Hanya tebakan yang tidak diinformasikan, tetapi karena plugin hanya ditambahkan ke menu/toolbar saat dimuat - yaitu bagian dari merekakelasPabrikproses instantiasi, dan dihapus dengan cara yang sama, mungkin tidak perlu memiliki catatan tentang plugin menu mana yang digunakan. Anda harus melihat kueri tingkat rendah dari opsi menu QGIS lengkap, bukan hanya plugin. Tidak tahu apakah itu mungkin.


Tonton videonya: Basic QGIS Tutorial - Open some Shapefile layers and a Project