J'aimerais exécuter quelques scripts python simples et petits pour QGIS (Mac) à partir de "l'extérieur" de QGIS. Par extérieur, je veux dire dans ce contexte, soit la ligne de commande os normale (terminal.app), soit même mieux, directement à partir de Sublime Text (éditeur de texte), mais certainement pas via la console python QGIS intégrée.
J'ai lu divers tutoriels, par exemple http://www.qgis.org/pyqgis-cookbook/intro.html#python-applications et je peux obtenir une référence à l'application QGIS, mais malheureusement pas à qgis.utils.iface
quelque chose de plus profond . Ce petit extrait de code devrait par exemple afficher le nom du calque actif ... Voici ce que j'ai:
import sys
sys.path.append("/Applications/QGIS.app/Contents/Resources/python")
from qgis.core import *
import qgis.utils
print "helo" # console output: helo
QgsApplication.setPrefixPath("/Applications/QGIS.app/", True)
QgsApplication.initQgis()
print QgsApplication # console output: <class 'qgis.core.QgsApplication'>
print qgis.utils.iface # = console output: none
aLayer = qgis.utils.iface.activeLayer()
print aLayer.name()
QgsApplication.exitQgis()
S'il vous plaît ne me répondez pas maintenant comment créer un plugin ou quelque chose d'autre "lourd". Je cherche simplement un moyen rapide et facile de créer des scripts dans un éditeur de texte confortable pour QGIS.
4
. En attendant, je dois vivre avec2
, ce qui est vraiment pénible àimport script
suivre, suivireload(script)
et bien entendu de mon éditeur à QGIS. J'ai également vérifié le plugin scriptrunner, ce qui est prometteur, mais je n'ai pas réussi à en obtenirprint "debug value"
dans la console QGIS. Savez-vous, par hasard, comment faire en sorte qu'un script scriptrunner imprime quelque chose sur la console QGIS? Merci beaucoup! Attendra votre réponse et puis fermez la question!