Help us understand the problem. What is going on with this article?

QGISプラグインの作り方(パッケージ生成編)

More than 3 years have passed since last update.

概要

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を編集するツール)
  • Plugin Reloader (プラグイン上の機能を修正した際に、アプリの再起動なしに修正内容を反映させることができるプラグイン。必須ではないです)

使ってみる

QGISのプラグインメニューからPlugin Builderを起動します。

スクリーンショット 2015-08-01 15.53.03.png

必要な項目を記載して、OKボタンを押します。
保存場所を聞かれます。どこに保存することもできますが、QGISがプラグインフォルダと認識している場所に保存しないとQGISからは認識されません。

スクリーンショット 2015-08-01 16.34.37.png

Macの場合、以下の場所が、デフォルトのプラグインを置く場所です。
/Users/(username)/.qgis2/python/plugins

スクリーンショット 2015-08-01 15.55.19.png

.が頭につくフォルダは初期設定のFinderでは表示されないためGUIでは移動できませんが、「移動」→「フォルダへ移動…」というメニューを選び、上記ファイルパスを入力すると確実です。もしくはCUIでフォルダを移動させてください。

プラグイン・アイコン

QGIS上で表示するアイコン画像をカスタマイズすることができます。ただし用意されたツールでQGISが読み込める用に変換してあげる必要があります。このファイルは必須にもかかわらず、このツールでファイルを生成した状態には含まれていないので、カスタマイズするしないにかかわらず、一度は変換命令を実行する必要があります。
プラグインのディレクトリ内で以下のコマンドを実行します。

pyrcc4 -o resources_rc.py resources.qrc

アイコン画像の有りかをXML形式で記述したresources.qrcが生成されます。

UIの編集

  • ***._dialog_base.ui(はプラグイン名)をQt Creatorで編集します。

スクリーンショット 2015-08-01 16.41.29.png

プラグイン機能をファイルへ記述する

  • ***.py(はプラグイン名)に記述していきます。
  • 外部ライブラリを読み込む際は、このファイルの冒頭に記述します。 -最低限必要な関数は以下のとおりです。
    • init QGISからアクセスできるようにするために必要
    • initGui() プラグインが読み込まれた際に実行される
    • unload() プラグインが終了する際に実行される
    • run(self) プラグインの内容を記述していく
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした