J'essaie de charger un projet .qgs existant et d'obtenir une liste des couches à l'intérieur. Il me semble que je peux ouvrir le projet, mais je ne parviens pas à obtenir la liste des couches. Je suis un peu confus quant à la syntaxe de base de PyQGIS, et le livre de recettes ne couvre pas cet exemple spécifique.
from qgis.core import *
from PyQt4.QtCore import QFileInfo
QgsApplication.setPrefixPath(r"C:\OSGeo4W\apps\qgis-ltr", True)
qgs = QgsApplication([], False)
qgs.initQgis()
# Get the project instance
project = QgsProject.instance()
# Open the project
project.read(QFileInfo(
r'C:\path\to\project\project.qgs'))
print project.fileName()
# Get the layers in the project
layers = QgsMapLayerRegistry.instance().mapLayers()
print layers
qgs.exitQgis()
Actuellement, cela layers
renvoie simplement un dict vide, malgré le fait que le projet existe et comporte de nombreuses couches.
QgsApplication.processEvents()
juste après project.read
?
QGIS 2.18.2
étapes éprouvées de OP et @ GermánCarrillo. Quelle est la version d'OP?