¿Cómo ver los comandos de impresión a través de Python Script mientras se programa el complemento para QGIS?


13

¿Hay alguna forma de que al ejecutar un complemento personalizado hecho para QGIS, un Python Shell pueda aparecer cuando se ejecuta el complemento, como una pantalla de depuración? Le pido esto para saber si hay una manera de ver los comandos de impresión a través de un script de Python mientras se programa un complemento para QGIS.


Aparte de una etiqueta de pyqgis, esta pregunta parece no tener conexión con SIG. ¿Podría reformularlo para decir por qué cree que es una pregunta SIG en lugar de una más adecuada para StackOverflow , por favor?
PolyGeo

Edité, ¿qué tal ahora?
NothingToSay

1
Se ve mucho mejor, pero también convertí tu título en una pregunta y agregué algunas etiquetas adicionales para ayudar a atraer a la audiencia correcta.
PolyGeo

Respuestas:


13

Envía mensajes de registro a la ventana de registro de QGIS usando:

QgsMessageLog.logMessage(message, tag, level)

Etiqueta es el título de la pestaña que se mostrará en la ventana de registro de QGIS. Nivel es el nivel del mensaje (el valor predeterminado es 0).

Por ejemplo:

QgsMessageLog.logMessage('My message', 'MyPlugin')

Consulte la documentación de la API QGIS para QgsMessageLog para más detalles.

La ventana de registro se puede hacer visible desde el menú Ver-> Panel-> Mensajes de registro.

La otra forma es crear una clase que capture stdout y lo dirija a una ventana de registro dentro de su complemento (el complemento Script Runner hace esto). El resultado de todas las declaraciones de impresión se mostrará en su ventana de registro, aunque este método es mucho más complicado si solo desea mostrar algunos mensajes durante el desarrollo. Debe tener cuidado al hacer esto, ya que todas las declaraciones de impresión de otros complementos se enviarán a su complemento a menos que capture y restaure stdout según sea necesario.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.