QGISプログラムの開始時にPythonコンソールを表示する方法


9

プログラムの起動時にQGIS 2.6のPythonコンソールを直接開く方法はあるのでしょうか。Pythonコンソールのショートカットを設定する可能性がありますが、QGISプログラムを起動するためのそのようなオプションが見つかりません。


QGISの起動時に実行されるファイルを書き込む方法があります。これは、このようなカスタマイズされた設定に役立ちます。問題は、プログラムでコンソールを開くことができるかどうかです。できるか知ってる?
BritishSteel 2015

私はAPIで検索しましたが、Pythonに関連する唯一のクラスはQgsPythonRunnerで、コンソールではありません。
マーティン

回答:


10

プロジェクトを開くときに QGIS Pythonコンソールを起動するには、QGIS->Project->Project Properties次の行を数行記述します。

def openProject():
    import qgis     
    qgis.utils.iface.actionShowPythonDialog().trigger()

次のようにして、プロジェクトでマクロを必ず有効にしてください。 Settings->Options->General->Enable macros: Always

QGISを起動するときに QGIS Pythonコンソールを開く必要があるので、(まだ存在しない場合は)startup.pyファイル.qgis2/python/を作成して書き込むことができます。

import qgis     
qgis.utils.iface.actionShowPythonDialog().trigger()

編集(@Miroによるフォローアップ質問に対処するため)

Miroが指摘したように、QGIS Pythonコンソールが開いqgis.utils.iface.actionShowPythonDialog().trigger()ている場合はそれが閉じます。そのため、QGISプラグインを作成している場合、Pythonコンソールが開いている(表示されている)かどうかを確認することは理にかなっています。

次のコードを実行すると、Pythonコンソールが表示されていない(そして開いている)かどうかを確認できます。

from PyQt4.QtGui import QDockWidget
pythonConsole = iface.mainWindow().findChild( QDockWidget, 'PythonConsole' )
if not pythonConsole.isVisible():
    pythonConsole.setVisible( True )

コンソールがすでに開いているかどうかを確認する方法はありますか?それがtrigger()の場合はそれを閉じるためです。
ミロ

@ミロ、道がある!手順を使用して回答を編集しました。
ヘルマン・カリージョ

1
2.18では、プロジェクトマクロは機能しますが、起動スクリプトがコンソールを開くことができません。
アンダーダーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.