Zastanawiam się, czy istnieje sposób, aby otworzyć konsolę Python bezpośrednio przy uruchomieniu programu. Istnieje możliwość ustawienia skrótu do konsoli Python, ale nie mogę znaleźć takiej opcji do uruchomienia programu QGIS.
Zastanawiam się, czy istnieje sposób, aby otworzyć konsolę Python bezpośrednio przy uruchomieniu programu. Istnieje możliwość ustawienia skrótu do konsoli Python, ale nie mogę znaleźć takiej opcji do uruchomienia programu QGIS.
Odpowiedzi:
Możesz uruchomić konsolę QGIS Python podczas otwierania projektu , pisząc kilka wierszy w QGIS->Project->Project Properties
:
def openProject():
import qgis
qgis.utils.iface.actionShowPythonDialog().trigger()
Upewnij się, że włączasz makra w swoim projekcie, w ten sposób: Settings->Options->General->Enable macros: Always
Jeśli chcesz, aby konsola QGIS Python otwierała się podczas uruchamiania QGIS , możesz utworzyć (jeśli jeszcze nie istnieje) startup.py
plik %APPDATA%\QGIS\QGIS3\
i napisać:
import qgis
qgis.utils.iface.actionShowPythonDialog().trigger()
EDYCJA (aby odpowiedzieć na pytanie uzupełniające autorstwa @Miro)
Jak zauważył Miro, jeśli QGIS Python Console jest otwarta, qgis.utils.iface.actionShowPythonDialog().trigger()
zamknie ją, więc jeśli piszemy wtyczkę QGIS, warto wiedzieć, czy Python Console jest otwarta (widoczna), czy nie.
Możesz wiedzieć, czy konsola Python nie jest widoczna (a następnie otwórz ją), uruchamiając ten kod:
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()