Быстрое проектирование системных уведомлений не работает (& ldquo; импорт pyinotify & rdquo; не выполняется)

Если я создаю быстрый проект со следующей командой в терминале:

 quickly create ubuntu-application helloworld

, а затем добавляю в HelloworldWindow.py следующие строки,

import sys
import pynotify

строка " import pynotify "производит следующий вывод ошибок в моей системе, когда я хочу запустить приложение с выводом ошибок

quickly run

:

/usr/lib/python2.7 /dist-packages/gobject/constants.py:24: Предупреждение: g_boxed_type_register_static: assertion g_type_from_name (name) == 0' failed import gobject._gobject /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: specified class size for type PyGtkGenericCellRenderer 'меньше, чем узел GtkCellRenderer' class size from gtk import _gtk /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:40: Warning: g_type_get_qdata: assertion родительского типа! 1112] Приложение не запустится.

Но если я хочу запустить следующее python-приложение

 #!/usr/bin/python
 import sys
 import pynotify

 if __name__ == "__main__":
if not pynotify.init("icon-summary-body"):
    sys.exit(1)

n = pynotify.Notification(
    "Notification",
    "Hello notify! It works!",
    "notification-message-im")
n.show()

, например. сохранив код в файле с именем «notify.py», я могу запустить код с помощью команды в терминале:

python notify.py

и уведомление работает нормально!

Что такое проблема с быстро создаваемым приложением Python? Почему импорт не работает ?? Я новичок с быстро и Python.

3
задан 26 June 2012 в 15:27

2 ответа

Я только что столкнулся с точно такой же проблемой.

Вот мое решение.

from gi.repository import Notify

Notify.init ('Application')
notification = Notify.Notification.new ('Title', 'Message', 'dialog-information')
notification.show ()
0
ответ дан 26 June 2012 в 15:27

pynotify был написан для работы с pygtk, более старым способом использования GTK через Python. Новый метод называется gobject introspection и имеет следующий вид импорта:

from gi.repository import Gtk

Вы не можете использовать старую и новую систему в одном приложении, а шаблон быстрого использования использует новую систему, поэтому вы можете не используйте pynotify с ним.

У меня есть замена, совместимая с новой системой: notify2 . Это еще не точно, но я отправил запрос на обратный порт.

0
ответ дан 26 June 2012 в 15:27

Другие вопросы по тегам:

Похожие вопросы: