मैं एक मौजूदा .qgs प्रोजेक्ट को लोड करने और अंदर की परतों की एक सूची प्राप्त करने की कोशिश कर रहा हूं। मुझे लगता है कि यह परियोजना खोलने में सक्षम है, लेकिन मुझे परतों की सूची नहीं मिल सकती है। मैं मूल PyQGIS सिंटैक्स के रूप में थोड़ा भ्रमित हूं, और रसोई की किताब इस विशिष्ट उदाहरण को कवर नहीं करती है।
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()
वर्तमान में, यह सिर्फ इस layers
तथ्य के बावजूद कि यह परियोजना मौजूद है और इसमें कई परतें हैं, खाली खाली रिटर्न देता है।
QgsApplication.processEvents()
सही डालने की कोशिश कर सकते हैं project.read
?
QGIS 2.18.2
ओपी और @ जर्मेनक्रिल्लो के आजमाए हुए चरणों में भी मुझे यही समस्या है । ओपी का संस्करण क्या है?