25.3. QGIS Python コンソール

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

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

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

25.3.1. 対話型コンソール

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

25.3.1.1. ツールバー

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

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

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

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

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

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

25.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

図 25.19 Python コンソール

25.3.2. コードエディタ

|iconeShowEditorConsole| エディタを表示 ボタンを使用して、エディタウィジェットを使用可能にします。それは編集を可能にし、Pythonのファイルを保存し、コードを管理するための高度な機能を提供しています(コードをコメント化およびコメント解除、構文をチェック、codepad.org経由でコードを共有、他にもいろいろ)。主な機能は次のとおりです。

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

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

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

  • codepad.org経由でコードスニペットを共有します。

  • 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

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

ちなみに

オプションを保存

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