Vairāk

Spraudņu atrašana QGIS gui sistemātiski no PyQGIS

Spraudņu atrašana QGIS gui sistemātiski no PyQGIS


Esmu ļāvis man mīlēt spīdošos jaunos QGIS spraudņus, un man ir grūti atcerēties, kurā izvēlnē / apakšizvēlnē / panelī atrodas attiecīgais spraudnis. Es tagad izmantoju krietni vairāk nekā 100 un dodos tīrīšana parasti nozīmē, ka tikko noņemtajam spraudnim atrodu citu izmantojumu ...

Tāpēc es domāju, ka mēģināšu uzrakstīt spraudni, lai iegūtu šo informāciju, lai es varētu to meklēt. Lietas, kuras zina spraudņa pārvaldnieks, kā arī (pats galvenais) kā to atrast GUI.

Apstrāde ir lieliska, lai atrastu daudz iebūvētās QGIS funkcionalitātes, taču tā neatrod spraudņus, kas nebūtu rakstīti, lai izmantotu tā ietvaru.

Aplūkojot atbildi uz instalēto spraudņu uzskaitīšanu, izmantojot pyqgis, es varēju iegūt spraudņu nosaukumu sarakstu.

Šķiet, ka ir klase,QgsPluginRegistry, kas C ++ kodā izskatās daudzsološs, bet es tam nevaru atrast SIP definīcijas failu, tāpēc es nedomāju, ka šī klase ir pakļauta Python.

Izmantojot nelielu izsekošanu caur QGIS avotu, es varēju uzrakstīt īsu fragmentu, lai šņāktu spraudņu konfigurācijas failus

par x failā qgis.utils.findPlugins ("/ home / steven / .qgis2 / python / plugins"): # iegūst (name, ConfigParser) abpusēju druku "_" * 80 print x [0] # spraudņa nosaukums atslēgai x [1] .options ('general'): drukāt " t% s =% s"% (key, x [1] .get ('general', key))

Tas dod man piekļuvi tai pašai informācijai, kas ir QGIS spraudņu pārvaldniekam ... izmaiņu žurnāli, autorība, kategorija un tā tālāk.

qgsAffine name = Affine Transformations qgisminimumversion = 2.0 description = Lietot afinīnās transformācijas atlasītajām ģeometrijām. version = 1.0.2 author = Mauricio de Paulo and Erik Timmers email = [redacted] changelog = [snipped] experimental = False deprecated = False tags = homepage = [redacted] repository = [redacted] tracker = [redacted] icon = icon. svg category = Vektors

Tas, ko man nesaka, ir tieši tas, kur tas atrodas izvēlnes struktūrā? Vai to var iegūt no PyQGIS tīrā veidā?

Vai arī, lai to atrastu, vai man jāsāk šņākt ap Qt GUI klasēm vai rakstīt pitonu parsētājus (izpildāms, bet šķiet mazliet virsū?) Kategorijas vērtība (vektors, rastrs utt.) Palīdz sašaurināt meklēšanu, taču to ir daudz spraudņu (piemēram, MMQGIS), kas izveido savas izvēlnes.


Tikai neinformēts minējums, bet tā kā spraudņi tiek pievienoti izvēlnēm / rīkjoslām tikai tad, kad tie ir ielādēti - ti, daļa no tiemclassFactoryinstantācijas process, un noņemt tādā pašā veidā, iespējams, nav nepieciešams reģistrēt izvēlnes spraudņus. Jums jāaplūko zemāko līmeņu vaicājumi par pilnām QGIS izvēlnes opcijām, ne tikai spraudņiem. Nav ne jausmas, vai tas ir iespējams.