概要
QGISはPythonでプラグインを書くことができます。QGISと連動させる形でPythonを色々と利用ができますが、プラグインを記述することはその一つの使い方です。
QGISとPythonでできることは公式サイトの以下ページに記述があります。
http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/
プラグイン作成についての公式サイトの該当ページ
http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/plugins.html#developing-plugins
あるユーザー(ただしGoogler)による英語での手順記事
http://www.qgistutorials.com/en/docs/building_a_python_plugin.html
必要なファイル一式を生成できるプラグインがあるので、ここではそれを使ったファイル一式を用意するまでの手順を以下に記します。
必要なツールのインストール
- Plugin Builder (プラグイン生成プラグイン)
- Qt Designer (GUIを編集するツール)
- Qt Creator on Mac (http://qt-project.org/downloads)
- Qt Designer on Ubuntu (apt-getでインストール。'sudo apt-get install qt4-designer')
- WinPython on Windows (http://winpython.sourceforge.net/)
- Plugin Reloader (プラグイン上の機能を修正した際に、アプリの再起動なしに修正内容を反映させることができるプラグイン。必須ではないです)
使ってみる
QGISのプラグインメニューからPlugin Builderを起動します。
必要な項目を記載して、OKボタンを押します。
保存場所を聞かれます。どこに保存することもできますが、QGISがプラグインフォルダと認識している場所に保存しないとQGISからは認識されません。
Macの場合、以下の場所が、デフォルトのプラグインを置く場所です。
/Users/(username)/.qgis2/python/plugins
.が頭につくフォルダは初期設定のFinderでは表示されないためGUIでは移動できませんが、「移動」→「フォルダへ移動…」というメニューを選び、上記ファイルパスを入力すると確実です。もしくはCUIでフォルダを移動させてください。
プラグイン・アイコン
QGIS上で表示するアイコン画像をカスタマイズすることができます。ただし用意されたツールでQGISが読み込める用に変換してあげる必要があります。このファイルは必須にもかかわらず、このツールでファイルを生成した状態には含まれていないので、カスタマイズするしないにかかわらず、一度は変換命令を実行する必要があります。
プラグインのディレクトリ内で以下のコマンドを実行します。
pyrcc4 -o resources_rc.py resources.qrc
アイコン画像の有りかをXML形式で記述したresources.qrcが生成されます。
UIの編集
- ******._dialog_base.ui(***はプラグイン名)をQt Creatorで編集します。
プラグイン機能をファイルへ記述する
- ******.py(***はプラグイン名)に記述していきます。
- 外部ライブラリを読み込む際は、このファイルの冒頭に記述します。
-最低限必要な関数は以下のとおりです。- init QGISからアクセスできるようにするために必要
- initGui() プラグインが読み込まれた際に実行される
- unload() プラグインが終了する際に実行される
- run(self) プラグインの内容を記述していく