2017-01-27 2 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으로 int32, int64, doubleint32보다 큰 숫자 형식의 가능성이 다른 사람 있지만 byte 또는 int16, 어떤 uint 유형 등이 될 수 있으며, (나는 가정 것이다) 숫자 형. 내가 말할 수있는 것처럼 단지 int32을 사용하십시오. 내가 다른 단계에 대한 Name 같은 일반적인 이름을 사용하는 동안
  • , set_hint의 값은 소문자 v를 'value'해야합니다. 또한

잘 모르겠어요 주목할만한 이것은 unniversal 방법 또는 경우 경우 그것은 xfce4-notifyd에서만 작동합니다. xfce4-notifyd 만 사용하므로 걱정하지 않아도됩니다. 그러나이 문제를 조사해 보면 내 대답을 업데이트하는 것을 기억하려고 노력할 것입니다. 또는 다른 사람이이 답변을 알고있는 경우 알려 주시기 바랍니다.