Як вирішити новий QgsMessageBar «виконаний завданням» на Python?


12

Я дуже вражений, які величезні кроки в розвитку QGIS зробили за останні місяці. Новий набір іконок, вдосконалений композитор друку та багато інших змін, які слід побачити в QGIS 2.0, справді приголомшливі!

Серед багатьох інших цікавих вдосконалень є і цей вишуканий синій бар завдання, який мені здається дуже привабливим. Текст говорить: Збереження завершено: Експорт у векторний файл закінчений

Чи можна звернутися до цього рядка в python для скриптів та плагінів (наприклад, щоб показати невелике повідомлення після закінчених обчислень)? Я задаю тут це питання, тому що я вважаю, що багато розробників QGIS також відвідують цей Q&A-сайт.

PS: Панель видно лише в QGIS-розробнику і лише для деяких операцій.

Відповіді:


14

Це точно:

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

останній аргумент - це тайм-аут у секундах, якщо він не надається, він залишатиметься, поки користувач не закриє його.

Ви навіть можете додати власний контроль до панелі повідомлень:

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

введіть тут опис зображення

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


@Nathan Я використовую QProgressBar замість QComboBox. Я не в змозі вирівняти мітку панелі прогресу в правій частині, в даний час її відображається посередині панелі прогресу із символом%.
venkat

@venkat - це стиль панелі прогресу. Погляньте на таблиці стилів Qt, як змінити це, чи може бути властивість мітки.
Натан В

@Nathan Я вже піднімав питання з цього приводу, але поки не отримав жодної відповіді. будь ласка, перевірте це посилання. Там я пояснив із скріншотом та вихідним кодом. stackoverflow.com/questions/16434215/…
venkat

@venkat відповів там для вас
Nathan W
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.