Daugiau

„Qgis Python“ konsolės spausdinimo pareiškimai neveikia

„Qgis Python“ konsolės spausdinimo pareiškimai neveikia


Turiu nedidelę problemą dėl „Python“ konsolės „Qgis“. Aš dirbu su kai kuriomis įvadinėmis pamokomis apie „Qgis“ scenarijų „Python“. Turiu scenarijų, kuris įkelia sluoksnius, tada užklausia vardų drobės ir kilpos per pavadinimus ir juos spausdina, maždaug taip:

spausdinti "Šis spausdinimo teiginys nepadeda" # # importuoti sluoksnius į drobę qgis.utils.iface.addVectorLayer ("/path/file1.shp", "First file", "ogr") qgis.utils.iface.addVectorLayer (" /path/file2.shp "," Antrasis failas "," ogr ") qgis.utils.iface.addRasterLayer ("/path/file3.tif "," Trečias failas ") # # print" Ši eilutė suaktyvina spausdinimo funkciją kad ciklas veiktų " # canvas = qgis.utils.iface.mapCanvas () allLayers = canvas.layers () # for i in allLayers: spausdinti i.name ()

Problema ta, kad nebent spausdinu į konsolę prieš for ciklą, bet po importavimo, sluoksnių pavadinimai nespausdinami, scenarijus tiesiog egzistuoja švariai. Jei scenarijų paleisiu antrą kartą (kai failai vis dar yra drobėje), failai vėl importuojami ir for ciklas veikia, bet, žinoma, dabar drobėje yra dvi failų kopijos. Ar tai dar viena kelio problema ar klaida, ar aš tikiuosi per daug?

(OSX 10.7.5 ir Qgis 2.6.0)


Geriausias būdas atspausdinti registraciją „qgis“ yra naudoti„QgsMessageLog“klasė. Tai rašo į derinimo žurnalo langą, o ne į konsolę.

QgsMessageLog.logMessage ("pranešimas", "vardas")

Apatiniame dešiniajame pagrindinio lango lange pamatysite piktogramą, kurią galite paspausti, kad atidarytumėte derinimo žurnalą.


Žiūrėti video įrašą: QGIS Python PyQGIS - Show Error, Warning, and Success Messages