2017-01-27 10 views
2

Python 3でPyGObjectを使用していて、進捗バーを含むNotify.Notificationを使用して通知を表示したいとします。進行状況バーは、それ自身/非同期的に更新する必要はありません。新しい値を手動で設定してから通知するように指示した場合にのみ更新できます。私はあなたがそれを変更すると、新しいボリュームを示すボリューム通知のようなものの後にいます。Notify.NotificationのPyGObjectプログレスバー

thisのようなこの検索ドキュメントを見つける方法が見つけられませんでしたが、これはPyGObjectを使用して可能ですか?あるいは、この動作を可能にする別のPython 3ライブラリがありますか?

私は現在、これに似たテキストベースの進捗状況と通知を表示しています:

import gi 
gi.require_version('Notify', '0.7') 
from gi.repository import Notify 

def __init___(self): 
    ... 
    Notify.init("Progress") 
    self.notification = Notify.Notification(summary='Progress', body='0%') 
    self.notification.set_image_from_pixbuf(notification_image) 
    ... 

def on_progress_update(self, progress): 
    ... 
    self.notification.update('Progress', str(progress) + '%', None) 
    self.notification.show() 
    ... 

答えて

1

だから後ずっと私はXFCEフォーラムにthisスレッドが送信-通知を取得するために使用を検討した検索xfce4- notifyd "ゲージ"を使用して、Notify.Notification.set_hint()の使い方を理解することができました。あなたの通知がプログレスバー/ステータスバー/ゲージを表示したいのであれば、あなたは次のように使用することができますノートの

import gi 

gi.require_version('Notify', '0.7') 
from gi.repository import GLib, Notify 

Notify.init("Name") 
notification = Notify.Notification() 
notification.set_hint('value', GLib.Variant.new_int32(volume)) 

ポイント:

  • に見られるように、概要と身体を設定しますどちらも表示されていないのでこのメソッドを使用すると元の質問は無意味であるように見えますが、進捗バーだけが表示されます。アイコン/画像は、進行状況バーの横に表示することができます。 notification.set_image_from_pixbuf()
  • と任意の非GLib.Variantタイプはuint32としてint32int64double、及びint32より大きい数値型のおそらく他のではなく、byte又はint16、任意uintタイプようにすることができ、又は(Iは仮定であろう)数値型です。私が知ることができるようにちょうどint32を使用してください。私は他のステップのためのNameのような一般的な名前を使用していたが
  • set_hintの値は小文字のvで'value'でなければならない。また

私はわからないんだけど、注目に値する、これはunniversalメソッドまたはもしあればそれはxfce4-notifydでしか動作しません。私はxfce4-notifydしか使用しませんので、私は心配していませんが、これを調べると私の答えを更新することを忘れないようにしようとします。あるいは、誰かがこれに対する答えを知っているなら、私に知らせてください。