Como ver comandos de impressão através do Python Script durante a programação do plug-in para o QGIS?

13

Existe uma maneira de executar um plug-in personalizado feito para o QGIS que um Shell Python possa aparecer quando o plug-in for executado, como uma tela de depuração? Estou pedindo para saber se existe uma maneira de ver comandos de impressão por meio de um script Python durante a programação de um plug-in para o QGIS.

Nada a dizer
fonte
Além de uma tag pyqgis, essa pergunta parece não ter conexão com o GIS. Você seria capaz de reformular a frase para dizer por que acha que é uma questão de SIG, e não uma mais adequada ao StackOverflow , por favor?
PolyGeo
Eu editei, e agora?
NothingToSay
1
Parece muito melhor, mas também transformei seu título em uma pergunta e adicionei algumas tags extras para ajudar a atrair o público certo.
PolyGeo

Respostas:

13

Você envia mensagens de log para a janela de log do QGIS usando:

QgsMessageLog.logMessage(message, tag, level)

Tag é o título da guia que será exibida na janela de log do QGIS. Nível é o nível da mensagem (o padrão é 0).

Por exemplo:

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

Consulte a documentação da API do QGIS para QgsMessageLog para obter detalhes.

A janela de registro pode ser visível no menu Exibir-> Painel-> Mensagens de registro.

A outra maneira é criar uma classe que captura stdout e a direcione para uma janela de log dentro do seu plug-in (o plug-in Script Runner faz isso). A saída de todas as instruções de impressão será exibida na janela de log, embora esse método seja muito mais envolvido se você desejar exibir apenas algumas mensagens durante o desenvolvimento. Você deve ter cuidado ao fazer isso, pois todas as instruções de impressão de outros plug-ins serão enviadas ao seu plug-in, a menos que você capture e restaure o stdout conforme necessário.

gsherman
fonte