2017-04-23 18 views
1

私はPyQGIS Cookbookを使ってPyQGISを学習し、PyQGIS Programmers Guideを購入しました。小さなスクリプトを使ってレイヤーを読み込むことはできましたが、QGISにプロジェクトを読み込むことはできません。 13行目で 'SyntaxError:invalid syntax'が表示され続けます。QGISの中でPython Consoleを使用していて、 'import _loadproject'を入力してスクリプトを開始します。PyQGISを使ってプロジェクトをQGISに読み込む方法は?

誰かが間違っていると指摘できますか?

"""Load Project: This is to test loading a project.""" 

from PyQt4.QtGui import * 
from PyQt4.QtCore import * 
from qgis.core import * 
from qgis.utils import iface 

class ProjectScript: 

def __init__(self, iface): 
    self.iface = iface 

def load_project(self) 
    project = QgsProject.instance() \ 
    project.read(QFileInfo('S:/SOCAL/Section_28/SOCAL_CK47/Control_Data/SOCAL_CK47_project.qgs')) 
    print project.fileName 'S:/SOCAL/Section_28/SOCAL_CK47/Control_Data/SOCAL_CK47_project.qgs' 

def run_script(iface): 
"""Run the script by loading and calling LoadProject methods.""" 
fs = ProjectScript(iface) 
fs.load_project() 
+0

13行目にload_project関数に ":"がありません "def load_project(self):" –

答えて

1

チェックこの例:Pythonコンソールを使用した例ProjectScript.pyため

from PyQt4.QtGui import * 
from PyQt4.QtCore import * 
from qgis.core import * 
from qgis.utils import iface 

class ProjectScript: 

    def __init__(self, iface): 
     self.iface = iface 

    def load_project(self): 
     project = QgsProject.instance() 
     project.read(QFileInfo('S:\\SOCAL\\Section_28\\SOCAL_CK47\\Control_Data\\SOCAL_CK47_project.qgs')) 
     print project.fileName() 

    def run_script(iface): 
     """Run the script by loading and calling LoadProject methods.""" 
     fs = ProjectScript(iface) 
     fs.load_project() 

保存このスクリプト、およびexecute.The次の画像は、結果を示します。 enter image description here

+0

ありがとうございました! - Script Runnerプラグインでスクリプトは動作しますが、QGISコンソールを使用しないのは楽しいことです。私はもっ​​と深く掘り下げます。しかしもう一つの質問です。手動でプロジェクトをロードするときは、QGISの左上隅にプロジェクトの名前が表示されます(例:QGIS 2.18.2 - SOCAL_CK47_project)が、スクリプトを実行するときは表示されません。プロジェクト名を表示するためにQGISをリフレッシュするために使用できる声明はありますか? – Clutch

+0

これを試してください:qgis.utils.iface.mainWindow()。setWindowTitle( "My Title") –

関連する問題