GIS and Media fusion

"The explosive growth of the GeoWeb and geographic information has made GIS powerful media for the general public to communicate, but perhaps more importantly, GIS have also become media for constructive dialogs and interactions about social issues." - Sui & Goodchild

User Tools

Site Tools


geoinf18:wktplugin

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
geoinf18:wktplugin [2018/10/30 16:32]
oertz [Créer un plugin]
geoinf18:wktplugin [2018/11/13 10:14] (current)
oertz [Logique du plugin]
Line 12: Line 12:
 Initialiser un dossier de configuration d'un nouveau plugin avec le Plugin Builder préalablement installé et selon le //Chapitre 2.3.3 Marche à suivre – structure du plugin// du tutoriel INSIT. Initialiser un dossier de configuration d'un nouveau plugin avec le Plugin Builder préalablement installé et selon le //Chapitre 2.3.3 Marche à suivre – structure du plugin// du tutoriel INSIT.
  
-D'​après la marche à suivre, avant de pouvoir tester le plugin de base, il faut transformer le fichier **resources.qrc** avec la commande :+D'​après la marche à suivre, avant de pouvoir tester le plugin de base, il faut transformer le fichier **resources.qrc** avec la commande ​[[http://​pyqt.sourceforge.net/​Docs/​PyQt5/​resources.html|pyrcc5]] (pour  l'​intégration de ressources telles que des icônes et des fichiers de traduction dans une application) ​:
 <​code>​ <​code>​
 pyrcc5 -o resources.py resources.qrc pyrcc5 -o resources.py resources.qrc
 </​code>​ </​code>​
  
-En cas de problème, le fichier **resources.py** résultat pour Qt5 est disponible ​ici +En cas de problème, le fichier **resources.py** résultat pour PyQt5 disponible ​ci-dessous pourrait aussi convenir ​ 
 +https://​drive.switch.ch/​index.php/​s/​jHcUvhFSRwEneES
  
 ===== Modifier l'UI du plugin ===== ===== Modifier l'UI du plugin =====
Line 38: Line 39:
 </​code>​ </​code>​
  
-  * son identifiant d'​objet est **plainTextEdit**,​ il est possible de le manipuler avec les instructions ci-dessous dans la logique du plugin (script python NomDeMonPlugin.py). +  * son identifiant d'​objet est **plainTextEdit**,​ il est possible de le manipuler avec les instructions ci-dessous dans la logique du plugin (script python ​**NomDeMonPlugin.py**). 
-  * __notez ​bien :__ pour voir le résultat des modifications sans relancer QGIS, le plugin Reloader est bien utile !+  * voir aussi la documentation Qt : http://​doc.qt.io/​ 
 + 
 +__Notez ​bien :__ pour voir le résultat des modifications sans relancer QGIS, le plugin Reloader est bien utile !
  
 ===== Logique du plugin ===== ===== Logique du plugin =====
Line 50: Line 53:
   * on reload, on lance le plugin, on clique OK et le message apparait dans le console Python   * on reload, on lance le plugin, on clique OK et le message apparait dans le console Python
  
-La méthode [[http://​doc.qt.io/​qt-5/​qplaintextedit.html#​toPlainText|toPlainText]] renvoie le contenu du champ texte de la boîte de dialogue+La méthode ​Qt5 [[http://​doc.qt.io/​qt-5/​qplaintextedit.html#​toPlainText|toPlainText]] renvoie le contenu du champ texte de la boîte de dialogue
 <​code>​ <​code>​
 mywkt = self.dlg.plainTextEdit.toPlainText() mywkt = self.dlg.plainTextEdit.toPlainText()
Line 68: Line 71:
 layer.commitChanges() ​                       # save changes layer.commitChanges() ​                       # save changes
 </​code> ​ </​code> ​
 +
 +NB: sans oublier d'​ajouter en entête les imports qui vont bien :
 +<​code>​
 +# Import QGIS stuff
 +from qgis.core import *
 +from qgis.utils import *
 +</​code>​
  
 ===== Tester ===== ===== Tester =====
geoinf18/wktplugin.1540913523.txt.gz · Last modified: 2018/10/30 16:32 by oertz