Apakah mungkin untuk menampilkan pesan khusus kami di bilah Status QGIS menggunakan python?

14

Apakah ada cara untuk menampilkan pesan khusus kami di bilah Status Qgis menggunakan python? Sama seperti di arcgisIApplication.statusbar.message(0) = "Please wait..."

seperti itu apakah ada opsi untuk menampilkan progressbar di Qgis like IApplication.progressbar.show()

venkat
sumber

Jawaban:

34

Status bar

Ada iface.mainWindow (). StatusBar () yang mengembalikan QStatusBar

iface.mainWindow().statusBar().showMessage( u"Hello World" )

masukkan deskripsi gambar di sini

MessageBar

Mulai dari QGIS 2.0 ada juga QgsMessageBar yang mampu menampilkan pesan yang tidak mengganggu

iface.messageBar().pushInfo(u'My Plugin says', u'Hey there')

masukkan deskripsi gambar di sini

Maju

Bilah pesan juga dapat menampilkan QWidget (seperti QProgressBar ) dengan tombol tutup dan batas waktu (5 detik dalam contoh).

from PyQt4.QtGui import QProgressBar
from qgis.gui import QgsMessageBar
msgBar = iface.messageBar()

pb = QProgressBar( msgBar )
msgBar.pushWidget( pb, QgsMessageBar.INFO, 5 )

msg = msgBar.createMessage( u'Hello World' )
msgBar.pushWidget( msg, QgsMessageBar.WARNING, 5 )

masukkan deskripsi gambar di sini

Info lebih lanjut tentang QgsMessageBar dapat ditemukan dalam jawaban ini oleh NathanW. Bagaimana mengatasi QgsMessageBar "Tugas-Lengkap" dengan Python? Terima kasih telah menunjukkan Curlew

Warisan

Di konsol python untuk QGIS <1.9 akan menjadi:

qgis.utils.iface.mainWindow().statusBar().showMessage( u"Hello World" )
Matthias Kuhn
sumber
Terima kasih banyak, Matthias..apakah ada opsi untuk progressbar?
venkat
Di QgsMessageBar Anda dapat menampilkan segala jenis widget. Saya tidak akan tahu bahwa ini mungkin di bilah status.
Matthias Kuhn
Saya sangat baru menggunakan qgis dan python .. bisakah Anda memberi saya contoh untuk QgsMessageBar? dan apa arti dari menggunakan awalan 'u' di "Hello world"
venkat
Awalan u adalah untuk string unicode. Ini juga akan bekerja tanpa ini. Untuk QgsMessageBar Anda harus mendapatkan versi pengembangan QGIS saat ini atau menunggu rilis 2.0.
Matthias Kuhn
3
Lihat juga jawaban Nathans tentang cara mendorong widget ke messagebar baru gis.stackexchange.com/questions/57067/…
Curlew