Wie adressiere ich die neue QgsMessageBar "Task-Completed" in Python?


12

Ich bin wirklich erstaunt, welche großen Schritte die QGIS-Entwicklung in den letzten Monaten gemacht hat. Das neue Iconset, der verbesserte Print Composer und viele weitere Änderungen in QGIS 2.0 sind wirklich großartig!

Neben vielen anderen coolen Verbesserungen gibt es auch diese schicke blaue Taskleiste, die ich sehr ansprechend finde. Text sagt: Speichern beendet: Export in Vektordatei beendet

Ist es möglich, diese Leiste in Python für Skripte und Plugins zu adressieren (um beispielsweise nach beendeten Berechnungen eine kleine Nachricht anzuzeigen)? Ich stelle diese Frage hier, weil ich glaube, dass viele QGIS-Entwickler auch diese Q & A-Site besuchen.

PS: Die Leiste ist nur in QGIS dev und nur für einige Operationen sichtbar.

Antworten:


14

Es ist sicher:

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

Das letzte Argument ist eine Zeitüberschreitung in Sekunden. Wenn es nicht angegeben wird, bleibt es so lange bestehen, bis der Benutzer es schließt.

Sie können der Nachrichtenleiste sogar ein eigenes Steuerelement hinzufügen:

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

Bildbeschreibung hier eingeben

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


@ Nathan Ich verwende QProgressBar anstelle von QComboBox. Ich kann die Beschriftung der Fortschrittsanzeige auf der rechten Seite nicht ausrichten. Derzeit wird sie in der Mitte der Fortschrittsanzeige mit dem% -Symbol angezeigt.
Venkat

@venkat das ist der Stil des Fortschrittsbalkens. Sehen Sie sich in Qt-Stylesheets an, wie Sie dies ändern können, oder es gibt möglicherweise eine label -Eigenschaft.
Nathan W

@ Nathan Ich habe die Frage dazu bereits gestellt, aber bisher habe ich keine Antwort bekommen. Bitte überprüfen Sie diesen Link. Dort erklärte ich mit Screenshot und Quellcode. stackoverflow.com/questions/16434215/…
venkat

@ Venkat antwortete dort für Sie
Nathan W
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.