Bagaimana cara melihat perintah cetak melalui Python Script saat memprogram plugin untuk QGIS?

13

Apakah ada cara dari menjalankan plugin khusus yang dibuat untuk QGIS sehingga Python Shell dapat muncul bersama ketika plugin dijalankan, seperti layar debug? Saya meminta ini untuk mengetahui apakah ada cara untuk melihat perintah cetak melalui Python Script saat memprogram plugin untuk QGIS.

Tidak ada yang mengatakan
sumber
Selain tag pyqgis, pertanyaan ini tampaknya tidak memiliki koneksi ke GIS. Apakah Anda dapat mengutarakannya kembali untuk mengatakan mengapa Anda berpikir itu adalah pertanyaan GIS daripada satu lagi yang cocok untuk StackOverflow ?
PolyGeo
Saya edit, bagaimana kalau sekarang?
NothingToSay
1
Terlihat jauh lebih baik tetapi saya juga mengubah judul Anda menjadi pertanyaan dan menambahkan beberapa tag tambahan untuk membantu menarik audiens yang tepat.
PolyGeo

Jawaban:

13

Anda mengirim pesan log ke jendela log QGIS menggunakan:

QgsMessageLog.logMessage(message, tag, level)

Tag adalah judul tab yang akan ditampilkan di jendela log QGIS. Level adalah level pesan (default ke 0).

Sebagai contoh:

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

Lihat dokumentasi QGIS API untuk QgsMessageLog untuk detailnya.

Jendela log dapat dibuat terlihat dari menu View-> Panel-> Log Messages.

Cara lain adalah membuat kelas yang menangkap stdout dan mengarahkannya ke jendela log di dalam plugin Anda (plugin Script Runner melakukan ini). Output dari semua pernyataan cetak akan ditampilkan di jendela log Anda, meskipun metode ini jauh lebih terlibat jika Anda hanya ingin menampilkan beberapa pesan selama pengembangan. Anda harus berhati-hati melakukan ini, karena semua pernyataan cetak dari plugin lain akan dikirim ke plugin Anda kecuali Anda menangkap dan mengembalikan stdout sesuai kebutuhan.

tuan
sumber