3 votos

¿Es posible leer/escribir macros con PyQGIS?

Las macros se guardan en el .qgs archivo del proyecto. Sin embargo, mirando el Clase QgsProject no se menciona ningún método para leer o escribir una macro.

Además de peligrosamente editando el .qgs archivo de proyecto, ¿hay algún otro método para acceder a una macro?

3voto

Mue Puntos 2469

Aparentemente es posible utilizando el QgsProject.instance().readEntry() como se muestra en el siguiente enlace:

https://github.com/qgis/QGIS/blob/master/python/utils.py#L487


  • Para leer la macro del proyecto, puede utilizar:

    print QgsProject.instance().readEntry("Macros", "/pythonCode")[0]
  • Para escribir una macro de proyecto, puede utilizar:

    macro = u'def openProject():\r\n\t#do something\r\n\r\ndef saveProject():\r\n\t#do something else\r\n\r\ndef closeProject():\r\n\tpass\r\n'
    QgsProject.instance().writeEntry("Macros", "/pythonCode", macro)

    Written macro

    Dónde:

    • \r es el retorno de carro.
    • \n es la nueva línea.
    • \t es la pestaña horizontal.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X