2012-07-01 27 views
6

Có vẻ như thiếu một tài liệu riêng biệt về mô-đun GObjects cho trăn tại thời điểm này, vì vậy có thể ai đó có thể giúp tôi.Gửi thông báo với GObjects

Tôi đang tạo một ứng dụng thỉnh thoảng sẽ phải thông báo cho người dùng rằng sự kiện đã xảy ra. Tôi đã tìm thấy về việc sử dụng from gi.repository import Notify và các lớp liên quan từ việc sử dụng đoạn mã ngắn cho thông báo skype và tài liệu C, nhưng dường như không đóng khi tôi gọi Notify.uninit. Chương trình đóng lại, nhưng cửa sổ thông báo nhỏ vẫn được đặt và phải được đóng bằng cách nhấp chuột phải vào nó và chọn "Xóa". Vì vậy, tôi tự hỏi nếu có lẽ một cách khác như nếu có một cái gì đó tương tự như thế nào trong Mac OS biểu tượng ứng dụng lắc/bị trả lại khi một cái gì đó xảy ra hoặc trong Windows biểu tượng ứng dụng phát sáng một màu sắc khác nhau?

Tôi thích hệ thống thông báo Gnome 3 với ngăn xếp thư và như vậy, nhưng tôi không thể làm cho nó biến mất khi ứng dụng của tôi thoát Tôi không thực sự muốn sử dụng nó (trừ khi ai đó biết cách làm điều này ... nó có thể là tôi quên đặt thời gian chờ, nhưng điều đó vẫn không có ý nghĩa là tại sao tôi không thể chỉ làm cho các điểm thông báo biến mất).

Trả lời

6

Gọi Notify.uninit không phải là nghĩa vụ để làm cho các thông báo biến mất, nó chỉ cho biết rằng nó sẽ không còn cần thiết cho ứng dụng của bạn nữa. Để làm cho thông báo biến mất, bạn phải đóng chúng một cách rõ ràng như trong ví dụ sau:

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 vì tài liệu PyGobject bị thiếu trong internet bằng cách nào đó. – astrojuanlu

Các vấn đề liên quan