QGIS Python コンソール

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

QGIS には Python API があります(コードのサンプルは PyQGIS Developer Cookbook を参照して下さい) そこではユーザがオブジェクト(レイヤ,地物,インスタンス)を対話的に利用できます。QGIS にはPythonコンソールもあります。

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

対話型コンソール

対話型コンソールは、ツールバー、入力領域と出力の一つから構成されています。

ツールバー

ツールバーには、以下のツールを提案しています:

  • clearConsole Clear Console to wipe the output area;

  • runConsole Run Command available in the input area: same as pressing Enter;

  • showEditorConsole Show Editor: toggles コードエディタ visibility;

  • options Options...: opens a dialog to configure console properties (see オプション);

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

コンソール

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

  • コード補完、以下のAPIの構文とcalltipsを強調:

    • Python

    • PyQGIS

    • PyQt5

    • QScintilla2

    • osgeo-gdal-ogr

  • Ctrlキー+Altキー+Spaceオプション で有効にしている場合は自動補完リストを表示する;

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

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

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

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

  • コマンドの履歴を保存してクリア。履歴はファイル ~/.qgis2/console_history.txt に保存されます;

  • 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

Python コンソール

コードエディタ

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

  • コード補完、以下のAPIの構文とcalltipsを強調:

    • 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

Pythonコンソールエディタ

オプション

Pythonコンソール設定 は、コンソールツールバーと、コンソール出力パネルとコードエディタのコンテキストメニューからアクセスでき、Pythonコンソールの振る舞いを管理し、制御するのに役立ちます。

For both Console and Editor you can specify:

  • 自動補完 :コード補完を有効にします。現在のドキュメント、インストールされているAPIファイル、またはその両方から自動補完を取得できます。

    • Autocompletion threshold: Sets the threshold for displaying the autocompletion list (in characters)

  • Typing

    • Automatic parentheses insertion: Enables autoclosing for parentheses

    • Automatic insertion of the 'import' string on 'from xxx': Enables insertion of 'import' when specifying imports

For Editor you can also specify:

  • Run and Debug

    • Enable Object Inspector (switching between tabs may be slow): Enable the object inspector.

    • 実行前にスクリプトを自動保存する :実行時にスクリプトを自動的に保存します。このアクションは実行後自動的に削除される一時ファイルを(一時システムディレクトリに)保存します。

  • Font and Colors: Here you can specify the font to use in the editor and the colors to use for highlighting

For APIs you can specify:

  • プリロードAPIファイルの使用:プリロードAPIファイルを使用するかどうかを選択できます。これがチェックされていない場合は、APIファイルを追加できます。また、準備済みのAPIファイルを使用するかどうかを選択できます(次のオプションを参照)。

  • 準備されたAPIファイルを使用 :チェックした場合、コード補完のために *.pap ファイルが使用されます。準備されたAPIファイルを生成するには、少なくとも1つの *.api ファイルをロードし、 APIをコンパイル... ボタンをクリックしてそれをコンパイルする必要があります。

ちなみに

オプションを保存

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