Jak wyświetlić polecenia drukowania za pomocą skryptu Python podczas programowania wtyczki dla QGIS?

13

Czy istnieje sposób, w jaki po uruchomieniu niestandardowej wtyczki stworzonej dla QGIS, powłoka Python Shell może pojawiać się po uruchomieniu wtyczki, jak ekran debugowania? Proszę o to, aby wiedzieć, czy istnieje sposób, aby zobaczyć polecenia drukowania za pomocą skryptu Python podczas programowania wtyczki dla QGIS.

Nic do powiedzenia
źródło
Poza tagiem pyqgis to pytanie wydaje się nie mieć związku z GIS. Czy mógłbyś powtórzyć to zdanie, aby powiedzieć, dlaczego uważasz, że jest to pytanie GIS, a nie jedno bardziej odpowiednie dla StackOverflow ?
PolyGeo
Redagowałem, a może teraz?
NothingToSay
1
Wygląda znacznie lepiej, ale zmieniłem również twój tytuł w pytanie i dodałem kilka dodatkowych tagów, aby przyciągnąć odpowiednich odbiorców.
PolyGeo

Odpowiedzi:

13

Wiadomości dziennika wysyła się do okna dziennika QGIS, używając:

QgsMessageLog.logMessage(message, tag, level)

Tag to tytuł karty, która będzie wyświetlana w oknie dziennika QGIS. Poziom to poziom wiadomości (domyślnie 0).

Na przykład:

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

Szczegółowe informacje można znaleźć w dokumentacji API QGIS dla QgsMessageLog.

Okno dziennika można wyświetlić w menu Widok-> Panel-> Wiadomości dziennika.

Innym sposobem jest utworzenie klasy, która przechwytuje standardowe wyjście i kieruje go do okna dziennika we wtyczce (robi to wtyczka Script Runner). Dane wyjściowe ze wszystkich instrukcji drukowania będą wyświetlane w oknie dziennika, chociaż ta metoda jest znacznie bardziej zaangażowana, jeśli chcesz wyświetlić kilka komunikatów podczas programowania. Musisz to robić ostrożnie, ponieważ wszystkie wyciągi z innych wtyczek zostaną wysłane do Twojej wtyczki, chyba że przechwycisz i przywrócisz standardowe wyjście w razie potrzeby.

gsherman
źródło