[Qgis-developer] Open a project file programmatically
Olivier Dalang
olivier.dalang at gmail.com
Tue Mar 17 02:16:03 PDT 2015
Hi !
I'm trying to load a project file using python in a plugin, but am
encountering some problems.
I simply want to have exactly the same behavior as if the user was choosing
"open" from the project menu, and selecting one particular file.
The C++ QgisApp class has an void openProject(const QString &fileName)
method which I suspect to do what I want, but if I'm not mistaken, there's
no access to QgisApp through python.
The python QgisInterface class has no such method. It only has a reference
to the QAction triggering the open file dialog, but that's not helping.
So I'm using these lines :
QgsProject.instance().clear()
QgsProject.instance().setFileName('C:\mypath\myfile.qgs')
QgsProject.instance().read()
It seems to work more or less.
But the behavior is not exactly the same :
- postgres layers for which I have a stored user/password in the browser
(not in the project file) are simply ignored (there's not even an
user/password prompt, nor the handle bad layers dialog).
- there's no save prompt if the current project was modified
- I seem to have some crashes every now and then
Is there a way to simply open a file using python given it's path ? Am I
just missing it ?
Thanks for your help !!
Olivier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20150317/85cc4164/attachment.html>
More information about the Qgis-developer
mailing list