Python'daki yeni “Görev Tamamlandı” QgsMessageBar'a nasıl hitap edilir?


12

QGIS gelişiminin son aylarda attığı büyük adımlar beni gerçekten şaşırttı. Yeni simge seti, geliştirilmiş Baskı bestecisi ve QGIS 2.0'da görülecek daha birçok değişiklik gerçekten harika!

Diğer birçok harika iyileştirmenin yanı sıra çok çekici bulduğum bu şık mavi görev çubuğu da var. Metin diyor: Kaydetme tamamlandı: Vektör dosyasına aktarma tamamlandı

Bu çubuğu komut dosyaları ve eklentiler için python'da ele almak mümkün mü (örneğin, bitmiş hesaplamalardan sonra küçük bir mesaj göstermek için)? Burada bu soruyu soruyorum çünkü birçok QGIS geliştiricisinin de bu Soru-Cevap sitesini ziyaret ettiğine inanıyorum.

Not: Çubuk yalnızca QGIS geliştirmesinde ve yalnızca bazı işlemler için görülebilir.

Yanıtlar:


14

Elbette:

iface.messageBar().pushMessage("Header","MessageBody", QgsMessageBar.WARNING, 2)

son arg, saniye cinsinden bir zaman aşımıdır, sağlanmazsa kullanıcı kapatana kadar kalacaktır.

Mesaj çubuğuna kendi kontrolünüzü bile ekleyebilirsiniz:

widget = iface.messageBar().createMessage("Test","Testing")
combo = QComboBox()
widget.layout().addWidget(combo)
iface.messageBar().pushWidget(widget, QgsMessageBar.WARNING)
combo.addItems("ASD")

resim açıklamasını buraya girin

http://www.qgis.org/api/classQgsMessageBar.html#a0b305c7215d75243b4237c299f0f7723


@Nathan QComboBox yerine QProgressBar kullanıyorum. Şu anda ilerleme çubuğunun ortasında% simgesiyle gösterilen ilerleme çubuğu etiketini sağ tarafa hizalayamıyorum.
venkat

@venkat, ilerleme çubuğunun stili. Bunu nasıl değiştireceğinize dair Qt stil sayfalarına bir göz atın veya bir label özelliği olabilir.
Nathan W

@Nathan zaten bu konuda soru kaldırdı ama şimdiye kadar herhangi bir cevap alamadım. lütfen bu bağlantıyı kontrol edin. ekran görüntüsü ve kaynak kodu ile açıkladım. stackoverflow.com/questions/16434215/…
venkat

@venkat orada sizin için cevap verdi
Nathan W
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.