Plugins et pyqgis
Comprendre comment extendre QGIS avec le langage de programmation Python. L'objectif principal est de fournir les outils et les concepts de base pour développer des scripts en Python et créer des plugins. Après une brève introduction à Python, les participants seront guidés pas à pas dans la création de scripts et d’un plugin.
Une connaissance de base de Phyton est préférable, mais pas obligatoire. Une connaissance de base des principes de programmation est requise.
Thématiqes abordées
- corretta gestione di un issue/bug tracker
-
Introduction à la programmation python dans QGIS
- Syntaxe Python (variables, cycles, fonctions et classes)
- importation de modules externes
-
Les principales classes d'API Qt
- le module QtCore (QObject, QString, QAction, QFile, ...)
- le module QtGui (QWidget, QDialog, QMessageBox, QFileDialog, ...)
- accéder à l'API QT via Python: PyQt (types Qt mappés par des types Python natifs, paramètre de sortie)
- Gestion du système de signal/slot PyQt
-
Les principales classes de l'API QGIS et leurs relations
- classes et paramètres de base: classes Qgis, QgsProject, QApplication
- carte, couches et légende: QgsMapCanvas, QgsMapLayer, QgsProject, QgsMapLayerRegistry, QgsLayerTree
- couches vectorielles: QgsVectorLayer, QgsField, QgsFeature, QgsGeometry
- couches raster: QgsRasterLayer
- outils de cartes et d’élastiques: QgsMapTool, QgsMapToolEmitPoint
- éléments de la carte: QgsMapCanvas
- classes de système de référence: QgsCoordinateReferenceSystem, QgsCoordinateTransform
-
Créer un plugin
- utilisation des principales classes et méthodes de création dans un plugin
- Plugin Builder et Plugin Reloader
- créer des interfaces utilisateur avec QtDesigner (.ui)
- gestion des métadonnées pour la publication du plugin
- méthodes correctes de gestion d'un plugin
-
Utilisation du logiciel de contrôle de version (git)
- introduction à git
- avantages d'un système de gestion de versions
- les commandes principales de git (git add, git commit, git pull, git push)
- utiliser les branches git et la gestion des conflits
- publication du plugin sur un hébergement distant (github, gitlab, ...)
- gestion correcte d'un issue/bug tracker
Durée
Trois jours à plein temps