จะดูคำสั่งพิมพ์ผ่าน Python Script ในขณะที่เขียนโปรแกรมเสริมสำหรับ QGIS ได้อย่างไร?


13

มีวิธีการใช้งานปลั๊กอินที่กำหนดเองที่สร้างขึ้นสำหรับ QGIS ที่ Python Shell สามารถปรากฏขึ้นพร้อมกันเมื่อมีการเรียกใช้ปลั๊กอินเช่นหน้าจอดีบักหรือไม่? ฉันขอให้สิ่งนี้รู้ว่ามีวิธีดูคำสั่งพิมพ์ผ่าน Python Script หรือไม่ขณะเขียนโปรแกรมเสริมสำหรับ QGIS


นอกเหนือจากแท็ก pyqgis คำถามนี้ดูเหมือนว่าจะไม่มีการเชื่อมต่อกับ GIS คุณจะสามารถใช้วลีอีกครั้งเพื่อพูดว่าทำไมคุณคิดว่าเป็นคำถาม GIS แทนที่จะเหมาะกับStackOverflow มากกว่านี้ไหม
PolyGeo

ฉันจะแก้ไขตอนนี้ล่ะ
NothingToSay

1
ดูดีขึ้น แต่ฉันเปลี่ยนชื่อของคุณเป็นคำถามและเพิ่มแท็กพิเศษเพื่อดึงดูดผู้ชมที่เหมาะสม
PolyGeo

คำตอบ:


13

คุณส่งข้อความบันทึกไปที่หน้าต่างบันทึก QGIS โดยใช้:

QgsMessageLog.logMessage(message, tag, level)

แท็กคือชื่อของแท็บที่จะแสดงในหน้าต่างบันทึก QGIS Level คือระดับข้อความ (ค่าดีฟอลต์คือ 0)

ตัวอย่างเช่น:

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

ดูเอกสารประกอบของ QGIS API สำหรับ QgsMessageLog สำหรับรายละเอียด

หน้าต่างบันทึกสามารถมองเห็นได้จากเมนู View-> Panel-> Log Messages

วิธีอื่นคือการสร้างคลาสที่จับ stdout และนำไปยังหน้าต่างบันทึกภายในปลั๊กอินของคุณ (ปลั๊กอิน Script Runner ทำสิ่งนี้) ผลลัพธ์จากคำแถลงการพิมพ์ทั้งหมดจะแสดงในหน้าต่างบันทึกของคุณแม้ว่าวิธีนี้จะเกี่ยวข้องมากขึ้นถ้าคุณต้องการแสดงข้อความสองสามข้อความในระหว่างการพัฒนา คุณต้องระมัดระวังในการทำเช่นนี้เนื่องจากข้อความสั่งพิมพ์ทั้งหมดจากปลั๊กอินอื่นจะถูกส่งไปยังปลั๊กอินของคุณเว้นแต่คุณจะจับภาพและเรียกคืน stdout ตามต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.