QGIS python开发手册-加载工程文件

加载工程文件

在QGIS中加载工程文件需要使用QgsProject实例的read()方法,该方法需要传入QFileInfo对象。QFileInfo对象指定了QGIS工程文件的路径,下面的代码加载QGIS的工程文件到当前应用程序中:
# 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'
在应用程序中,如果修改了工程文件,例如增加、删除图层,可以使用QgsProject实例的write()方法保存工程文件,write()方法可以传入QFileInfo对象,将工程文件另存到其他目录中。如下面代码:
# Save the project to the same
project.write()
# ... or to a new file
project.write(QFileInfo('/home/user/projects/my_new_qgis_project.qgs'))
read()和write()方法都会返回布尔类型的结果,用于判断读写是否成功。 需要注意的是,如果自定义程序是一个独立应用的话,为了能够同步的加载地图画布(canvas),需要首先实例化QgsLayerTreeMapCanvasBridge对象,代码如下:
bridge = QgsLayerTreeMapCanvasBridge( \
     QgsProject.instance().layerTreeRoot(), canvas)
# Now you can safely load your project and see it in the canvas
project.read(QFileInfo('/home/user/projects/my_other_qgis_project.qgs'))


查看原文:http://www.giser.net/?p=1495
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值