Gibt es eine Möglichkeit, durch Ausführen eines für QGIS erstellten benutzerdefinierten Plugins eine Python-Shell anzuzeigen, wenn das Plugin ausgeführt wird, wie z. B. ein Debug-Bildschirm? Ich frage dies, um zu wissen, ob es eine Möglichkeit gibt, Druckbefehle über ein Python-Skript anzuzeigen, während ein Plugin für QGIS programmiert wird.
qgis
python
qgis-plugins
pyqgis
Nichts zu sagen
quelle
quelle
Antworten:
Sie senden Protokollnachrichten an das QGIS-Protokollfenster mit:
Tag ist der Titel der Registerkarte, die im QGIS-Protokollfenster angezeigt wird. Level ist die Nachrichtenebene (standardmäßig 0).
Zum Beispiel:
Weitere Informationen finden Sie in der QGIS-API-Dokumentation zu QgsMessageLog.
Das Protokollfenster kann über das Menü Ansicht-> Bedienfeld-> Protokollnachrichten sichtbar gemacht werden.
Die andere Möglichkeit besteht darin, eine Klasse zu erstellen, die stdout erfasst und an ein Protokollfenster in Ihrem Plugin weiterleitet (das Script Runner-Plugin führt dies aus). Die Ausgabe aller Druckanweisungen wird in Ihrem Protokollfenster angezeigt. Diese Methode ist jedoch viel aufwändiger, wenn Sie während der Entwicklung nur einige Meldungen anzeigen möchten. Sie müssen dabei vorsichtig sein, da alle Druckanweisungen von anderen Plugins an Ihr Plugin gesendet werden, es sei denn, Sie erfassen und stellen stdout nach Bedarf wieder her.
quelle