LLCメニューコンテンツへスキップHomeNewsWorksBlogQGISプラグインの開発(4)この記事は1年以上前に書かれました。内容が古くなっている可能性がありますのでご注意下さい。2.x用に開発したプラグインはそのままでは動作しなくなります。詳しくはこちらに書かれています。3.0用に移植することにします。GetLinkDataは、オープンデータ活用支援プラットフォームLinkData.orgからQGISにデータを取り込むためのプラグインです。3.0は、Windows環境ではOSGeo4Wを使用してインストールすることができます。masterというのが3.0系の最新版です。3.0用のプラグインは、C:\Users\<ユーザ名>\.qgis3\python\pluginsにインストールされます。2.99を起動して「プラグイン」メニューから「プラグインの管理とインストール...」を選択すると、以下のようなエラー画面が表示されます。3.0用のプラグインの開発には、以下のものが必要です。pyqt5コマンドを実行してPyQt5をインストールします。3プラグインをQGISにインストールします。2.x用に開発した内容を反映させることにします。Builderを起動し、最初の画面ではプラグイン名やクラス名等を指定します。2.x用と同じにします。これは、開発済みのコードを最大限そのまま流用するためです。次に、プラグインの説明を入力します。ツールボタンとダイアログによるプラグインのテンプレートを選択し、メニューとメニュー項目名を指定します。次の画面では、とりあえずすべてチェックを付けたままにしておきます。プラグイン公開のURL等を指定し、「実験的」なプラグインとしておきます。GetLinkDataフォルダにテンプレートが生成されました。次に、プラグインのUIを開発します。2.x用に作成したget_link_data_dialog_base.uiをそのまま流用します。icon.pngも既存のファイルで上書きし、makeコマンドを実行します。PyQt5がインストールされていないと、makeコマンドで実行されるpyrcc5が見つからずエラーになります。今回はエラーになりません。「Web」メニューまたはツールバーのボタンでGetLinkData3を起動すると、ダイアログボックスも正しく表示されました。2.x(Qt4/PyQt4)用に開発したUI定義のファイルをそのまま使うことができましたが、場合によっては修正が必要になるかもしれません。Builderが生成したget_link_data.pyに、開発済みのプログラムを移植します。APIの仕様変更に注意が必要です。QgsProject.instance().addMapLayer()になったというのが大きな変更点でした。2.x用に作成した国際化対応のためのファイルをi18nサブフォルダにコピーすると、日本語を表示することができました。QGISプラグインの国際化対応については、前回の記事を参考にして下さい。今回作成したGetLinkData3はGitHubで公開しています。3.0用を作成しました。‘Girona’)におけるAPIの仕様変更に対応し、GitHubのリポジトリを更新しました。