QGISのプラグインのプログラミング中にPythonスクリプトを介して印刷コマンドを表示するにはどうすればよいですか?


12

QGIS用に作成されたカスタムプラグインの実行から、デバッグ画面のように、プラグインの実行時にPython Shellが一緒に表示される方法はありますか?QGISのプラグインをプログラミングしているときに、Pythonスクリプトを介して印刷コマンドを表示する方法があるかどうかを確認してください。


pyqgisのタグを除いて、この質問はGISとは関係がないようです。StackOverflowに適したものではなく、なぜGISの質問だと思うのかを言い換えることができますか?
PolyGeo

編集しましたが、いかがですか?
NothingToSay 2013

1
見た目はかなり良くなりましたが、私もあなたのタイトルを質問に変えて、適切な観客を引き付けるのを助けるためにいくつかのタグを追加しました。
PolyGeo

回答:


13

以下を使用して、ログメッセージをQGISログウィンドウに送信します。

QgsMessageLog.logMessage(message, tag, level)

タグは、QGISログウィンドウに表示されるタブのタイトルです。Levelはメッセージレベルです(デフォルトは0です)。

例えば:

QgsMessageLog.logMessage('My message', 'MyPlugin')

詳細については、QgsMessageLogのQGIS APIドキュメントを参照してください。

ログウィンドウは、[表示]-> [パネル]-> [ログメッセージ]メニューから表示できます。

もう1つの方法は、stdoutをキャプチャしてプラグイン内のログウィンドウに送るクラスを作成することです(Script Runnerプラグインがこれを行います)。すべての印刷ステートメントからの出力はログウィンドウに表示されますが、開発中にいくつかのメッセージを表示したいだけの場合、この方法はより複雑になります。必要に応じてstdoutをキャプチャして復元しない限り、他のプラグインからのすべての印刷ステートメントがプラグインに送信されるため、これには注意が必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.