Come affrontare il nuovo QgsMessageBar "Task-Completed" in Python?


12

Sono davvero sorpreso degli enormi passi compiuti dallo sviluppo di QGIS negli ultimi mesi. Il nuovo set di icone, il compositore Print migliorato e molte altre modifiche che si vedranno in QGIS 2.0 sono davvero fantastici!

Tra molti altri miglioramenti interessanti c'è anche questa elegante barra delle applicazioni blu, che trovo molto interessante. Il testo dice: Salva completato: esportazione in file vettoriale terminata

È possibile indirizzare questa barra in Python per script e plugin (ad esempio per mostrare un piccolo messaggio al termine dei calcoli)? Sto ponendo questa domanda qui, perché credo che molti sviluppatori QGIS visitino anche questo sito di domande e risposte.

PS: la barra è visibile solo negli sviluppatori QGIS e solo per alcune operazioni.

Risposte:


14

Lo è di sicuro:

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

l'ultimo arg è un timeout in secondi, se non viene fornito, rimarrà fino a quando l'utente non lo chiuderà.

Puoi anche aggiungere il tuo controllo alla barra dei messaggi:

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

inserisci qui la descrizione dell'immagine

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


@Nathan sto usando QProgressBar invece di QComboBox. non riesco ad allineare l'etichetta della barra di avanzamento sul lato destro, attualmente viene visualizzata al centro della barra di avanzamento con il simbolo%.
venkat,

@venkat è lo stile della barra di avanzamento. Dai un'occhiata ai fogli di stile Qt su come modificarlo o potrebbe esserci una proprietà etichetta.
Nathan W,

@Nathan ho già sollevato la domanda in merito, ma finora non ho ricevuto alcuna risposta. gentilmente controlla questo link.Qui ho spiegato con screenshot e codice sorgente. stackoverflow.com/questions/16434215/...
venkat

@venkat ha risposto laggiù per te
Nathan W
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.