Archives du 20 septembre 2011:
Personnalisation de QGIS : présentation de quelques méthodes simples
QGIS est constitué d’un coeur sous forme de bibliothèque dont l’interface graphique n’est qu’une des manières de l’utiliser. Le langage Python, largement utilisé pour les extensions, permet d’utiliser ce cœur pour créer ses extensions ou une autre application, totalement différente. Avant d’en arriver à ce niveau de personnalisation il existe plusieurs fonctionnalités qui permettent de modifier l’interface de QGIS. C’est de ces méthodes que je vais parler.
Je ne parlerais pas des possibilités de personnalisation des formats de données que l’on peut ouvrir avec QGIS, ou les paramètres de personnalisation lors de la sauvegarde d’un fichier (déjà parlé ici), ni de la personnalisation des projections, de la localisation des barres d’outils. Non il va s’agir d’utiliser les possibilités de QGIS pour simplement modifier le comportement par défaut de QGIS lorsqu’on clique sur une seule feature avec l’outil « identifier », faire en sorte que les outils et fonctions superflus ne s’affichent pas lors du lancement de QGIS et enfin de personnaliser le formulaire d’édition.
Formulaire d’édition des features
Dans les options de QGIS vous trouverez la possibilité d’afficher le formulaire par défaut lorsque vous cliquez sur une feature avec la fonction « identifier » (représenté par une flèche avec un bouton « i » avec un fond bleuté). Il y a alors deux types de fonctionnement : le premier lorsqu’on clique sur plusieurs features (en fait quand il y a plusieurs feature qui se superposent) une fenêtre s’ouvre et liste les attributs des features. Le deuxième fonctionnement, et c’est le plus intéressant, apparaît lorsqu’on clique sur une seule feature. Un formulaire d’édition apparaît et celui-ci permet de modifier les attributs si nous somme en mode édition.
La capture d’écran suivante montre les deux comportements. Les deux features sur lesquels j’ai cliqué sont entouré de rouge (on remarque que les multiples-features sélectionnées et qui donnent la fenêtre de gauche sont celles situées vers le bas). La fenêtre de droite est le fameux formulaire d’édition de la feature. Nous verrons un peu plus bas comment personnaliser ce formulaire très facilement.
Personnalisation des outils affichés
Cette fonctionnalité est nouvelle et n’est pas encore disponible dans la version stable actuelle, elle le sera dans la version 1.8.0. Un nouvel item fait son apparition dans le menu Options : « Paramétrage ». Celui-ci parait un peu obscure mais il s’agit d’un paramétrage pour choisir les menu, boutons et toolbars qui vont s’afficher dans QGIS. La fenêtre permet de choisir ce que vous désirez activer ou non. Il y a deux possibilités : décocher les items dans la liste déroulante ou bien utiliser la fonction « attraper les widgets dans l’interface » (traduction de mon fait).
Après avoir coché et décoché les cases désirées, vous cliquez sur le bouton « Appliquer ». À la prochaine ouverture de QGIS seules les barres d’outils, menu et boutons cochés seront affichés. Vous pouvez aussi sauver le fichier sous forme de fichier ini pour le charger dans une autre instance de QGIS. Voici ce que donne un exemple de personnalisation, à l’extrême :
Notez que pour revenir en arrière vous devez lancer qgis avec l’option –nocustomization et réinitialiser le paramétrage.
Créer son formulaire d’édition
QGIS propose la possibilité de créer son propre formulaire qui sera affiché lors de l’édition de la feature. Cela peut paraître compliqué mais c’est en fait très simple. Vous devez avoir qt4designer installé sur votre système. Lancez le, créez votre projet (celui par défaut conviendra parfaitement). Créez le formulaire en vous aidant des widgets sur la gauche et n’oubliez pas de les configurer avec la partie droite. Attention, il est important de données le nom du champ auquel le widget se rapporte à ce widget. C’est de cette manière que se fera le lien entre le champ du formulaire et le champ de la table attributaire. Voici ce que donne le mien :
Puis dans les propriétés de la couche, entrez le chemin vers le fichier formulaire créé précédemment (l’extension des formulaires créés avec qt4designer est .ui).
Enfin entrez en mode édition et éditez une feature :