Có thể hiển thị thông báo tùy chỉnh của chúng tôi trong thanh Trạng thái QGIS bằng python không?


14

Có cách nào để hiển thị thông báo tùy chỉnh của chúng tôi trong thanh Trạng thái Qgis bằng python không? Giống như trong arcgisIApplication.statusbar.message(0) = "Please wait..."

như thế là có tùy chọn nào để hiển thị thanh tiến trình trong Qgis như IApplication.progressbar.show()

Câu trả lời:


34

Thanh trạng thái

iface.mainWindow (). StatusBar () trả về QStatusBar

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

nhập mô tả hình ảnh ở đây

MessageBar

Bắt đầu từ QGIS 2.0 cũng có QssMessageBar có thể hiển thị các tin nhắn không phô trương

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

nhập mô tả hình ảnh ở đây

Nâng cao

Thanh thông báo cũng có thể hiển thị bất kỳ QWidget nào (như QProTHERBar ) với nút đóng và thời gian chờ (ví dụ 5 giây).

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 )

nhập mô tả hình ảnh ở đây

Thông tin thêm về QssMessageBar có thể được tìm thấy trong câu trả lời này của NathanW Làm thế nào để giải quyết QSSMessageBar mới "Hoàn thành nhiệm vụ" trong Python? Cảm ơn đã chỉ ra Curlew

Di sản

Trong bảng điều khiển python cho QGIS <1.9, nó sẽ là:

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

Cảm ơn rất nhiều Matthias..có tùy chọn nào cho thanh tiến trình không?
venkat

Trong QssMessageBar, bạn có thể hiển thị bất kỳ loại tiện ích nào. Tôi sẽ không biết rằng điều này là có thể trong thanh trạng thái.
Matthias Kuhn

Tôi rất mới với qgis và python .. bạn có thể vui lòng cho tôi ví dụ về QssMessageBar không? và ý nghĩa của việc sử dụng tiền tố 'u' trong "Hello world"
venkat

Tiền tố u dành cho chuỗi unicode. Nó cũng sẽ làm việc mà không có điều này. Đối với QssMessageBar, bạn phải có phiên bản phát triển hiện tại của QGIS hoặc chờ phát hành 2.0.
Matthias Kuhn

3
Ngoài ra, hãy xem câu trả lời của Nathans về cách đẩy tiện ích vào thanh thông báo mới gis.stackexchange.com/questions/57067/ chủ
Curlew
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.