Suite

Programmation d'événements dans QGIS

Programmation d'événements dans QGIS


J'ai identifié un besoin de modifier l'ordre des trames des VRT via son ordre d'apparition dans son fichier XML respectif. Malheureusement, cela ne semble pas possible de le faire dynamiquement à l'aide des commandes ou des plugins QGIS.

Je pense donc développer un outil qui détecte un changement dans le canevas de la carte puis obtient la coordonnée du centre, trouve les rasters dans la VRT qui sont en vue puis les réorganise dans le fichier XML en fonction de leur proximité avec le centre du canevas .

Cela semble très simple à faire mais je n'ai aucune idée de comment faire des événements dans l'interface QGIS. Idéalement, cela doit être un travail d'arrière-plan qui s'exécute en permanence.

Existe-t-il des didacticiels présentant l'événementiel dans QGIS Python ?


J'ai fait une petite recherche et j'ai trouvé quelques éléments qui pourraient vous être utiles concernant QGIS et les événements.

D'après la documentation (il semble que seul C++… devrait pouvoir prendre quelques noms et comprendre les liaisons python), il semble y avoir une classe qui gère lorsque le canevas est cliqué et déplacé. Vous pourrez peut-être trouver les liaisons python qui gèrent cela.

L'atelier Building Event-Driven Plugins explique certaines de ces liaisons et comment les objets QT utilisent les événements/signaux. Voici plus d'informations sur les signaux et les créneaux QT ainsi que sur le système d'événements pour QT.

Enfin, cet article décrit la recherche d'un clic de souris dans QGIS. Bien qu'il s'agisse d'un événement de clic de souris, vous devriez pouvoir avoir une idée de la façon dont la gestion est effectuée à partir de celui-ci.

À partir de ces sources et avec une bonne quantité de lecture de la documentation de l'API, vous devriez être en mesure de surveiller l'élément canvas de la carte et d'utiliser ses événements/signaux pour déclencher vos processus.


Voir la vidéo: QGIS Change Vector Style