Proje Yükleme

Bazen eklentiler içerisinden mevcut projeleri yükleme ihtiyacı duyarsınız, bağımısız QGIS Python uygulamalarında da (sıklıkla) ihtiyaç duyarsınız. (bkz: Python Applications).

QGIS uygulamanıza bir proje yüklemek için QgsProject sınıfını yüklemelisiniz. Bu bir singleton sınıfıtr, yani kopyasını instance() yöntemi ile kullanmalısınız. read() metoduna projenin dosya yolunu vererek yükleme işlemi çağrılır:

# If you are not inside a QGIS console you first need to import
# qgis and PyQt classes you will use in this script as shown below:
from qgis.core import QgsProject
# 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())
'/home/user/projects/my_qgis_project.qgs'
# Load another project
project.read('/home/user/projects/my_other_qgis_project.qgs')
print(project.fileName())
'/home/user/projects/my_other_qgis_project.qgs'

Eğer projede değişiklik yapmanız gerekiyorsa (mesela katman ekleme veya çıkartma gibi) ve değişiklikleri kaydedecekseniz, write() metodu ile saklama işlemini yapabilirsiniz. write() metodu projeyi farklı kaydetmek için yeni dosya adı da kabul eder:

# Save the project to the same
project.write()
# ... or to a new file
project.write('/home/user/projects/my_new_qgis_project.qgs')

read() ve write() fonksiyonları dosya işleminin başarılı olup olmadığını anlamanız için geriye boolean değer döndürür.

Not

Eğer çizim alanına sahip bağımsız bir QGIS uygulaması yazıyorsanız QgsLayerTreeMapCanvasBridge bileşenini çalıştırmalısınız. Örnek:

bridge = QgsLayerTreeMapCanvasBridge( \
         QgsProject.instance().layerTreeRoot(), canvas)
# Now you can safely load your project and see it in the canvas
project.read('/home/user/projects/my_other_qgis_project.qgs')