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