2012-07-01 30 views
6

Wydaje się, że w tej chwili występuje wyraźny brak dokumentacji modułu Python dla Pythona, więc może ktoś może mi pomóc.Wysyłanie powiadomień za pomocą GObjects

Składam wniosek, który czasami będzie musiał powiadomić użytkownika, że ​​zdarzenie miało miejsce. Znalazłem o użyciu from gi.repository import Notify i powiązanych klas za pomocą krótkiego fragmentu dla powiadomień skype i dokumentacji C, ale wydaje się, że nie zamyka się, gdy zadzwonię do Notify.uninit. Program zamyka się, ale małe okno powiadomień pozostaje wstawione i musi zostać zamknięte przez kliknięcie prawym przyciskiem myszy i wybranie "Usuń". Zastanawiam się więc, czy istnieje inny sposób, jak gdyby coś było podobne do tego, jak w Mac OS ikona aplikacji trzęsie się/odskakuje, gdy coś się dzieje lub w Windows ikona aplikacji świeci innym kolorem?

Podoba mi się system powiadomień Gnome 3 ze stosem wiadomości i tym podobne, ale ponieważ nie mogę sprawić, by zniknął, gdy moja aplikacja się kończy, nie chcę jej używać (chyba że ktoś wie, jak to zrobić poprawnie) zrób to ... być może, że zapomniałem ustawić limit czasu, ale to wciąż nie ma sensu, dlaczego nie mogę po prostu spowodować, że miejsce powiadomień zniknie).

Odpowiedz

6

Nie powinien wywoływać powiadomień, informuje tylko, że nie będzie już potrzebne dla twojej aplikacji. Aby powiadomienia zniknęły, musisz je zamknąć dokładnie tak, jak w poniższym przykładzie:

import time 
from gi.repository import Notify 

Notify.init('myapp') 

# optionally set an icon as the last argument 
n = Notify.Notification.new('summary text', 'body text', "dialog-information") 
n.show() 

# do whatever your application is doing 
time.sleep(10) 

n.close() 
Notify.uninit() 
+1

+1, ponieważ jakaś dokumentacja PyGobject nie jest dostępna w Internecie. – astrojuanlu