banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Thu 27 December 2018 11:48

Olivier310
Juste Inscrit !
Date d'inscription: 18 Sep 2017
Messages: 4

QGIS: Pb d'exécution macro LegendInterface

Bonjour à tous,

J'ai récupéré une couche contenant une macro qui fonctionnait très bien sous QGIS 2.8.4 hors depuis que mon entreprise nous à mis à disposition la version 3.0 puis 3.2 une erreur se produit. (voir pièce jointe).

Voici le code :

import os
macouche = qgis.utils.iface.activeLayer()
chemin='[% "PATH" ||'/'||"IMAGE" %]'
nomCouche = str(os.path.splitext(os.path.split(chemin)[1])[0])
qgis.utils.iface.addRasterLayer(chemin,nomCouche)
monraster=qgis.utils.iface.legendInterface().currentLayer()
qgis.utils.iface.legendInterface().setLayerVisible(monraster, True)
qgis.utils.iface.legendInterface().setCurrentLayer(macouche)


Ce n'est pas bloquant j'acquitte juste l'erreur mais je souhaiterai comprendre sachant que je n'ai pas beaucoup d'expérience en programmation python.

D'avance merci pour vos réponses.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Thu 27 December 2018 17:49

haubourg
Participant assidu
Lieu: Grenoble
Date d'inscription: 7 Sep 2005
Messages: 257
Site web

Re: QGIS: Pb d'exécution macro LegendInterface

Bonjour Olivier,
QGIS 3 a été réécrit pour python 3, Qt5 et une bonne partie de l'API QGIS a changée.
Le code python valable pour la version 2 doit être mis à jour, et avec une syntaxe python 3.
Il y a un guide de migration ici

https://github.com/qgis/QGIS/wiki/Plugi … -to-QGIS-3

ainsi qu'une liste des changements dans l'API QGIS:

https://qgis.org/api/api_break.html

Bonne soirée!

Hors ligne

 

Pied de page des forums

Powered by FluxBB