26.3. QGIS Python コンソール

この章の後半でご覧になるように、QGISはプラグインアーキテクチャで設計されています。プラグインはPythonで書くことができます。Pythonは地理空間分野では非常に有名なプログラミング言語です。

QGIS には、ユーザがオブジェクト(レイヤ、地物、インターフェイス)を対話的に利用できるように、Python API があります(コードのサンプルは PyQGIS 開発者用クックブック を参照して下さい)。また QGIS にはPythonコンソールもあります。

QGIS PythonコンソールはPythonコマンド実行用の対話型シェルです。自分のPythonスクリプトを編集して保存するためのPythonファイルエディタも付属しています。コンソールとエディタはどちらもPyQScintilla2パッケージに基づいています。コンソールを開くには プラグイン ► Python コンソール (Ctrl+Alt+P) を選択します。

26.3.1. 対話型コンソール

対話型コンソールは、ツールバー、入力エリア、および出力エリアから構成されています。

26.3.1.1. ツールバー

ツールバーからは以下のツールを利用することができます。

  • clearConsole コンソールのクリア :出力エリアをクリアします。

  • runConsole コマンドの実行 :入力エリアでのみ使用可能です。 Enter キーを押すのと同じです。

  • showEditorConsole エディタの表示コードエディタ の表示・非表示を切り替えます。

  • options オプション... : コンソールのプロパティを設定するのためのダイアログを開きます( Python コンソール を参照してください)。

  • helpContents ヘルプ... :このドキュメントを閲覧します。

26.3.1.2. コンソール

コンソールの主な機能は以下のとおりです。

  • コード補完、シンタックスハイライト、加えて以下のAPIには入力候補をポップアップで表示します。

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrlキー+Altキー+SpacePython コンソール で有効にしている場合は自動補完リストを表示する;

  • キーボード入力し Enter または コマンドを実行 を押して入力領域からコードスニペットを実行します。

  • コンテキストメニューから 選択部分を入力 を使用するか、 Ctrlキー+ E を押して、出力領域からコードスニペットを実行します。

  • UpDown の矢印キーを使用して、入力エリアからコマンド履歴を閲覧して、必要なコマンドを実行します。

  • Ctrlキー+シフト+ Space はコマンド履歴を表示するために:行をダブルクリックしてコマンドを実行します。 コマンド履歴 ダイアログはまた、入力エリアのコンテキストメニューからアクセスできます。

  • Save and clear the command history. The history will be saved into the console_history.txt file under the active user profile folder;

  • Open QGIS C++ API documentation by typing _api;

  • Open QGIS Python API documentation by typing _pyqgis.

  • Open PyQGIS Cookbook by typing _cookbook.

ちなみに

出力パネルから実行済コマンドを再利用します

Ctrlキー+ E いくつかのテキストを選択し、を押すと出力パネルからコードスニペットを実行できます。選択したテキストは、インタープリタプロンプト( >>>, ... )が含​​まれているかどうかは関係ありません。

../../../_images/python_console.png

図 26.19 Python コンソール

26.3.2. コードエディタ

Use the showEditorConsole Show Editor button to enable the editor widget. It allows editing and saving Python files and offers advanced functionalities to manage your code (comment and uncomment code, check syntax, share the code via GitHub and much more). Main features are:

  • コード補完、シンタックスハイライト、加えて以下のAPIには入力候補をポップアップで表示します。

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrlキー+Space で自動補完のリストを表示。

  • Sharing code snippets via GitHub.

  • Ctrl+4 構文チェック。

  • Search bar (open it with the default Desktop Environment shortcut, usually Ctrl+F):

    • 次/前を検索するにはデフォルトのデスクトップ環境のショートカットを使用します( Ctrlキー+ GShiftキー+Ctrlキー+G )。

    • 検索ボックスに入力すると自動的に最初の一致を見つけます。

    • 検索を開くと選択範囲に最初の検索文字列を設定します。

    • Esc を押すと検索バーを閉じます。

  • オブジェクトインスペクタ:クラスと機能ブラウザ。

  • (オブジェクトインスペクタから)マウスでクリックすると、オブジェクトの定義に移動します。

  • Execute code snippets with the runConsole Run Selected command in contextual menu;

  • Execute the whole script with the start Run Script command (this creates a byte-compiled file with the extension .pyc).

注釈

コードエディタ は部分的または完全にからスクリプトを実行すると、コンソール出力領域に結果を出力します。

../../../_images/python_console_editor.png

図 26.20 Pythonコンソールエディタ

ちなみに

オプションを保存

コンソールのウィジェットの状態を保存するには、[閉じる]ボタンからPythonコンソールを閉じる必要があります。これにより、次の開始時に復元するためのジオメトリを保存できます。