Как показать консоль Python при запуске программы QGIS

10

Интересно, есть ли способ открыть консоль Python непосредственно при запуске программы. Существует возможность установить ярлык для консоли Python, но я не могу найти такой вариант для запуска программы QGIS.

Мартин
источник
Есть способ написать файл, который запускается при запуске QGIS, что может быть полезно для таких настроек, как эти. Вопрос в том, можно ли программно открыть консоль или нет. Знаете ли вы, если вы можете сделать это?
BritishSteel
Я искал в API, но единственный класс, связанный с python - это QgsPythonRunner, который не является консолью.
Мартин

Ответы:

12

Использование макросов

Вы можете запустить консоль QGIS Python при открытии проекта , написав пару строк QGIS->Project->Project Properties:

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

Убедитесь, что вы включили макросы в свой проект, таким образом: Settings->Options->General->Enable macros: Always


Использование startup.py

Если вы хотите, чтобы консоль QGIS Python открывалась при запуске QGIS , вы можете создать (если он еще не существует) startup.pyфайл %APPDATA%\QGIS\QGIS3\и написать:

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

РЕДАКТИРОВАТЬ (чтобы ответить на следующий вопрос @Miro)

Как отметил Миро, если QGIS Python Console открыта, qgis.utils.iface.actionShowPythonDialog().trigger()закроет ее, поэтому, если мы пишем плагин QGIS, возможно, имеет смысл узнать, открыта ли Python Console (видимая) или нет.

Вы можете узнать, не видна ли консоль Python (а затем открыть ее), запустив этот код:

from qgis.PyQt.QtWidgets import QDockWidget
pythonConsole = iface.mainWindow().findChild(QDockWidget, 'PythonConsole')
if not pythonConsole or not pythonConsole.isVisible():
    from qgis.utils import iface
    iface.actionShowPythonDialog().trigger()
Герман Каррильо
источник
Есть ли способ проверить, открыта ли консоль? Потому что, если это триггер () собирается закрыть его.
Миро
@ Миро, есть способ! Я отредактировал свой ответ с инструкциями.
Герман Каррильо
1
В 2.18 макрос проекта работает, но сценарий запуска не может открыть консоль.
Подземье