Як показати консоль 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 відкрилася консоль QGIS Python , ви можете створити (якщо він ще не існує) startup.pyфайл у %APPDATA%\QGIS\QGIS3\та записати:

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

EDIT (для вирішення подальшого запитання від @Miro)

Як зазначив Міро, якщо консоль QGIS Python відкрита, qgis.utils.iface.actionShowPythonDialog().trigger()вона закриє її, тому, якщо ми пишемо плагін QGIS, можливо, має сенс знати, відкрита (видима) консоль Python чи ні.

Ви можете дізнатися, чи консоль 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()

Чи є спосіб перевірити, чи консоль вже відкрита? Тому що якщо це тригер (), він закриє його.
Миро

@Miro, є спосіб! Я відредагував свою відповідь інструкціями.
Герман Каррільо

1
У 2.18 макрос проекту працює, але сценарій запуску не вдається відкрити консоль.
underdark
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.