Uneori trebuie să încărcați un proiect existent dintr-un plugin, sau (mai des) atunci când dezvoltați o aplicație QGIS stand-alone în Python (see: Aplicații Python).
To load a project into the current QGIS aplication you need a QgsProject instance() object and call its read() method passing to it a QFileInfo object that contains the path from where the project will be loaded:
# If you are not inside a QGIS console you first need to import
# qgis and PyQt4 classes you will use in this script as shown below:
from qgis.core import QgsProject
from PyQt4.QtCore import QFileInfo
# Get the project instance
project = QgsProject.instance()
# Print the current project file name (might be empty in case no projects have been loaded)
print project.fileName
u'/home/user/projects/my_qgis_project.qgs'
# Load another project
project.read(QFileInfo('/home/user/projects/my_other_qgis_project.qgs'))
print project.fileName
u'/home/user/projects/my_other_qgis_project.qgs'
În cazul în care trebuie să faceți unele modificări la proiect (de exemplu, să adăugați sau să eliminați unele straturi), apoi să salvați modificările, puteți apela metoda write() asupra instanței proiectului. De asemenea, metoda write() acceptă QFileInfo, opțional, care vă permite să specificați o cale în care va fi salvat proiectul:
# Save the project to the same
project.write()
# ... or to a new file
project.write(QFileInfo('/home/user/projects/my_new_qgis_project.qgs'))
Ambele funcții, read() și write(), returnează o valoare booleană, pe care o puteți folosi pentru a verifica dacă operația a avut succes.