#1 Mon 18 December 2023 12:13
- rep20
- Participant occasionnel
- Date d'inscription: 6 May 2016
- Messages: 27
QGIS/Ouverture: Lancement script python
Bonjour à tous,
Je viens d'écrire un script python qui permet de supprimer les couches temporaires vides sur un projet QGIS. Certains utilisateurs oublient de les supprimer avant de fermer les différents projets QGIS. Cela permet de nettoyer automatiquement les projets.
Le script fonctionne. J'aimerais faire en sorte qu'il s'éxecute automatiquement lors de l'ouverture de chaque projet. J'ai réussi à le faire fonctionner en passant par les propriétés/macros du projet. Comme il y a plusieurs projets avec le même profil je voudrais que ce script s'éxecute via les fichiers du profil. Cela permettrait de modifier une seule fois le profil plutôt que d'ouvrir tous les projets.
J'ai regardé via la création d'un fichier nommé startup.py dans les dossiers sources du profil. J'ai bien pointé les traitements python sur le dossier où ce trouve ce sript et passé l'execution des scripts en automatique.
Toutefois cela ne fonctionne pas. Je me demande où se trouve l'erreur car je n'ai aucun message d'erreur et quand je lance le script à la main cela fonctionne.
Auriez-vous une idée ou un conseil à suivre pour executer un script python lors de l'ouverture d'un ou plusieurs QGIS ?
Merci et bonne journée,
Dernière modification par rep20 (Mon 18 December 2023 13:39)
Hors ligne
#2 Mon 18 December 2023 16:57
- YoLecomte
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 7 Jul 2015
- Messages: 266
Re: QGIS/Ouverture: Lancement script python
Bonjour,
Via startup.py, votre code est exécuté avant que votre projet ne soit chargé. Lors de son exécution, les couches ne sont donc pas encore disponibles pour d'éventuels traitement python.
Cela explique pourquoi vous n'avez aucun message d'erreur et que rien ne se passe.
A mon avis, votre meilleur chance est de créer un plugin qui se connecte a https://qgis.org/pyqgis/3.2/gui/other/Q … rojectRead (cela peut surement être fais à l'initialisation du plugin) et qui exécute votre code lorsque le projet est chargé.
Là au moins vous serez sur que vos couches sont disponibles et vous pourrez interagir avec.
Hors ligne
#3 Mon 18 December 2023 17:02
- rep20
- Participant occasionnel
- Date d'inscription: 6 May 2016
- Messages: 27
Re: QGIS/Ouverture: Lancement script python
Bonjour,
Merci beaucoup pour votre réponse. Je vais regarder alors pour la création du plugin.
Hors ligne