ホーム » QGIS » QGIS Pythonプラグインで起動時に地図を表示

QGIS Pythonプラグインで起動時に地図を表示

Pythonで作成したプラグインで起動時に地図を表示すると、
起動後「現在のプロジェクトを保存しますか」の問い合わせメッセージが表示される。

サンプルコードでは関数:initGuiの中でプロジェクトの投影を設定する。
プラグインはQGIS起動時にロードされるようにプラグインのチェックをONにする

[code]
def initGui(self):
途中省略
new_crs = QgsCoordinateReferenceSystem(‘EPSG:2451’)
QgsProject.instance().setCrs(new_crs)

[/code]

これで起動後に以下のメッセージが表示される

QGISのソースをチェックはしていないが、プラグインがQgsProjectを操作した後にQGISのappクラスでQgsProjectを操作しようとしてこのような動作になっていると思われる。

これを避けるためにはQGIS起動時に実行されるPythonスクリプトを用意してこのスクリプトで起動時に実行したいスクリプトを呼ぶと期待した動作となる。

ちなみに起動クリプトの内容は以下
[code]
from PyQt5.QtCore import QSettings
from PyQt5.QtWidgets import QDesktopWidget
from qgis.utils import iface
import qgis
qgis.utils.loadPlugin(‘プラグイン名’)
qgis.utils.startPlugin(‘プラグイン名’)
[/code]