Pythonで新しい「タスク完了」QgsMessageBarに対処する方法


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 QComboBoxの代わりにQProgressBarを使用しています。進行状況バーのラベルを右側に揃えることができません。現在、進行状況バーの中央に%記号が表示されています。
ベンカット

プログレスバーのスタイルである@venkat。変更方法についてはQtスタイルシートをご覧ください。または、ラベルプロパティがある場合があります。
ネイサンW

@ネイサン私はすでにこれに関する質問を提起したが、私はこれまでのところ答えを得なかった。このリンクをご確認ください。スクリーンショットとソースコードで説明しました。 stackoverflow.com/questions/16434215/…–
venkat

@venkatはあなたのためにそこに答えた
ネイサンW
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.